基础:
RelativeLayout:相对布局
wrap_content属性:自适应
推荐用string.xml绑定文本
layout_alignParentLeft位置居左,Right居右,Bottom下,Top上;另有Margin和Padding的
取消ActionBar:manifest里面调theme=.....NoActionBar
版本控制Git:在vision control
输入框EditText
内部对齐在同一个水平线:gravity=“center_vertical”
提示文本:hint 对应提示文本的颜色:textColorHint
输入文本颜色:TextColor
文本设置background=@null去掉下划线
添加<hr>:<LinearLayout ...>
button都是放在drawable,命名shape_size_func_btn
dp单位 - 图片,sp - 文字
values/dimens.xml 尺寸,可以存单位尺寸
找对象:比如找注册按钮对象,btnLogin = findViewById(R.id.btn_login);
有事件的加监听器:btnLogin.setOnClickListener(new View.OnClickListener),还有其他种类的监听器
onClick函数里面写要实现的功能比如login(),声明要用上的变量(比如account,要用getText().toString()转成字符串,再去空格);再另外声明login函数
trim()去空格
判断字符串是否为空要封装到工具类StringUtils
吐司提示用的多,也要封装到BaseActivity:用Toast.makeText(this,提示,Toast.LENGH_SHORT).show(); return; 用showToast调用
Intent页面跳转多用,封装BaseACtivity
Maven用来构建项目
https://mvnrepository.com/open-source/android找依赖库
OkHttp库发送请求:
添加user-permission android:name="android.permission.INERENT"网络访问权限
用模板代码复制粘贴即可:
-
创建OKHttpClient
-
创建Request请求
-
创建call回调对象
-
发起请求(注意异步处理,子线程重来问题:一讲reseult final掉,然后runOnUiThread(new Runnable()){@Override public void run(){showToast(result)}})
工具类util/AppConfig简化模版代码(url请求连接)
public static final String BASE_URL = "......"
request的url(AppConfig.BASE_URL + 登录接口"/app/login")
SDK29以上的有安全配置,对http检查(如果不是https的话),要在模版代码前配置:
创建res/xml/network_security_config.xml(代码上网抄就行),再manifest引进这个文件(android:networkSecurityConfig="@文件地址")
登录接口:回调TtitCallback接口(请求成功回调onSuccess,失败onFailure),Api类封装请求(构造,config函数,post函数);LoginActivity写params参数+config调用(下面Override请求成功和失败函数)
所有URL统一放在api/ApiConfig
注册接口类似
showToastSync常用封装:Looper.prepare(),Toast.makeText(), Looper.loop()
创entityt实体包;登录相应实体类LoginResponse用Gson插件自动写get/set(要依赖)
OnSuccess里面写showToastSync(res)不报错,创建Gson对象,LoginResponse对象,如果登陆成功则拿到token,用SharedPreference存在本地(2参数:文件名,模式),通过他的Editor得到编辑器,编辑把token存在文件中,然后commit提交,showToastSync弹出登陆成功,否则弹出失败
(比如文件名sp_ttit.xml,打开右下DFE查data/data/ttit.xxx/shared_prefs,里面有token的值,用时取出)
token经常用得封装:BaseActivity写saveStringToSp()把上面的SharedP和Editor换过来,LoginActivity的换成封装函数(方便以后调用)
创建首页:HomeActivity
Login Success之后跳转Home:OnSuccess写saveStringToSp,navigateTo,再显示登陆成功(不然的话不显示)
github搜tab导航项目复制一个过来(安卓的);老项目的android.support.v4.view.ViewPaper在29版本后集成到了androidx.viewpager.widget.ViewPaper里