基于登陆界面案例来 制作网络登陆项目
复习JS06案例 暂时不做 偏好保存
给JS06增加网络请求的功能,更加真实,能与服务器交互,而不是本地
相当于把网页的登陆搬到安卓应用上了
通过两种方式进行请求POST 对比 GET
post 多种编码方式意味着可以上传图片
get 表单类型的
定义需求
登陆界面
1.布局实现
垂直线性布局
两个editText
两个Button
2.登陆逻辑
监听Button的点击事件
进行Toast显示登陆结果
点击Button后进行判断
1.获取用户输入的用户名和密码
取得控件句子 FindViewById
2.如果用户没有输入用户名或者密码,需要提示用户输入
3.判断用户名和密码是否正确,如果正确提示登陆成功,如果错误,提示登陆失败
开始下一步网络交互 其实就是在手机端登陆了网络登陆
这个案例就是为了得到网络端的登陆结果
4.GET请求button 点击后的逻辑
开启
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(path, "vimHotKeys.png");
RequestBody body = new MultipartBody.Builder()
.addFormDataPart("file", "vimHotKeys.png", RequestBody.create(MediaType.parse("image/png"), file))
.build();
final Request request = new Request.Builder()
.url("https://valpha.xyz/testserver/upload_file.php")
.post(body)
.build();
5.POST请求
遇到的坑
让read()的返回值!=1……那意思就是只要有值或者=0都会继续运行
1.要手动给len赋值否则会默认将buf = byte[1024]附上去 会有空缺
- 循环的条件需要检查是否是死循环 助教的博客
网友评论