Android studio 安卓开发常见问题(个人笔记系列)

Android studio安卓开发常见问题

注:个人笔记就是没有大纲、没有目录、没有结构,纯属本人笔记用。


正文

1、建议为控件绑定监听器而不是用XML的onClick属性来实现一个方法。

2、匿名类中的this不能直接用要用:类名.this 。

3、将第三方包复制到app/libs中去后要用add as library 在build.gradle中添加路径。

4、certutil -hashfile 绝对路径 [SHA1] 可以得到一个文件的SHA1值。

5、keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000
可以创建debug.keystore文件

6、keytool -v -list -keystore debug.keystore可以获得本机器SHA1码。

7、在debug.keystore若设置了密码,需要在project structure中同样设置密码。

8、重命名项目:先重名包名,再手动更改build.gradle:app,再clean build 和 rebuild 最后在setting中去掉勾选的instant run中选项。

9、PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
中的PendingIntent可以决定intent是否能携带参数。

10、打电话:intent.setAction(Intent.ACTION_DIAL);intent.setData(Uri.parse(“tel:13185309875”));
xml中

11、打开网页,默认要选择打开方式,直接打开用intent2.setClassName(“com.android.browser”, “com.android.browser.BrowserActivity”);

12、Android需要动态申请权限 https://www.cnblogs.com/xmcx1995/p/5870191.html

13、安卓存储:https://www.jianshu.com/p/c04b8899cf85

14、将XML文件转化成View: View viewloging = Inflater2.inflate(R.layout.popoploging, null);
GifView gifloging = (GifView) viewloging.findViewById(R.id.gifloging);

15、PopUpWindow的使用:https://blog.csdn.net/harvic880925/article/details/49272285

16、layer-list的使用

17、Menifest中是静态注册,可以静态调用,启动其他应用:https://www.cnblogs.com/guop/p/5067342.html

18、矢量图库:android studio提供了丰富的图片资源,可以右键module,new->vector asset

19、ViewPage + Fragment 的使用:https://blog.csdn.net/ma598214297/article/details/79596732

20、安卓开发使用套接字:https://blog.csdn.net/yzq7890/article/details/47255425

21、
View view= this.getLayoutInflater().inflate((GirdView 所在layout文件的资源id,例:R.layout.main), null);

GirdView gridView = view.findViewById(R.id.gridview );使用该方法获取某个XML文件的组件,并且inflate方法

每次都会创建出一个新的实例。

22.butterknife的使用:https://blog.csdn.net/wen_haha/article/details/85878292 。

23.json类型数据里面有列表传入时:https://blog.csdn.net/qq_37402650/article/details/83240938

同时记得fromJson()中第一个参数用一下对象代替。

JsonObject jsonObject = new JsonParser().parse(message).getAsJsonObject();

24.scrollView组件只能有一个子组件。

25.imageView设置宽度固定宽度自调的话要用android:adjustViewBounds="true"属性。

26.recyclerView介绍:https://www.jianshu.com/p/4f9591291365 。

27.recycleView组件高度不能自适应的话要在外面加上一层RelativeLayout,要是recycleView滑动不流畅要重写

StaggerGridLayoutManager的canScrollVertically方法return false。

28.在gradle.properties中,android.enableJetifier=true表示将依赖包也迁移到AndroidX 。如果取值为 false ,

表示不迁移依赖包到AndroidX,但在使用依赖包中的内容时可能会出现问题,所以使用Androidx又使用第三方要开启该项。

29.androidswipeLayout:https://www.jianshu.com/p/58ed0a64e9b7。

30.smartrefreshLayout:https://www.jianshu.com/p/09a763213817。

31.getContext() 和getActivity()都可以返回上下文,但是在fragment一般用getActivity()方法。

32.在Android中,有这样一个限制,两ScrollView型的控件不能相互嵌套。像ListView和GridView就都是ScrollView型的控件。

因为嵌套后,两个ScrollView型控件的滑动效果就丧失了,同时被嵌套控件的高度也被限定为一行的高度。

但是使用recyclerView外嵌套RelativeLayout不会这样因为安卓自己已经优化。


持续更新

发布了25 篇原创文章 · 获赞 7 · 访问量 2563

猜你喜欢

转载自blog.csdn.net/qq_44403367/article/details/105693084