Android随记
xiangkezhu
这个作者很懒,什么都没留下…
展开
-
升级gradle版本报错
修改gradle-wrapper.properties中的distributionUrl,然后sync时报错,信息如下: Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)Re-download dependencies and sync project (requires network) The state of a Gradle bui.原创 2020-07-27 14:39:13 · 1770 阅读 · 0 评论 -
APKTool 使用
1.java -jar apktool.jar d -f test.apk -o testtest.apk要解析的apk, -o test 设置输出目录, apktool.jar 是工具名称解析出res目录和Manifest2.cd到 d2j-dex2.jar所在的目录,解压apk文件,取出dex文件放到该目录下,运行命令:d2j-dex2jar classes.dex生成c...原创 2019-12-18 16:27:34 · 305 阅读 · 0 评论 -
startActivities(intents)注意点
若有两个Intent采用startActivities方式启动,Intent[0] = new Intent(this,TestActivity1.class);Intent[1] = new Intent(this,TestActivity2.class);1.如果要启动的两个activity的theme不是透明主题,android:windowIsTranslucent 不是...原创 2019-12-13 11:18:30 · 584 阅读 · 0 评论 -
ListView和RecyclerView中item长按后拖拽
由于ListView在Dialog里面,所有用WindowManager的方式不合适,又从网上参考了一些资料后实现:主要参考大神:https://github.com/1993hzw/Androids/blob/master/README_DragListView.mdListView 中的item长按后拖拽:需要重写ListView,在DispatchTouchEvent中拦截事件,...原创 2019-09-06 11:52:16 · 426 阅读 · 0 评论 -
特殊问题:RelativeLayout中的最后一个控件的layout_marginBottom无效的问题
出现此问题的前提是:在ViewPager+fragment实现的页面切换,在其中一个fragment的布局中,根布局是RelativeLayout;解决方式:按照网上所说的方法在最后添加一个宽高为0的View;但此时不行,我上一个布局如下:<ImageView android:id="@+id/iv_right" android:layout_width="70dp...原创 2019-05-31 11:42:57 · 910 阅读 · 0 评论 -
layout_weight属性
layout_weight属性是LinearLayout中的属性如果是水平方向,则要看layout_width属性;如果是垂直方向,则要看layout_height属性;以水平方向举例:layout_width="match_parent"有三个button:layout_weight比例为1:2:2计算公式为:1:parent_width + 1/5*(parent_wi...原创 2019-05-09 14:47:58 · 167 阅读 · 0 评论 -
Service: onStartCommand 的返回值
public @StartResult int onStartCommand(Intent intent, @StartArgFlags int flags, int startId) { onStart(intent, startId);有四种返回值:1.START_STICKYservice会重启,调用oncreate onStartCommand(),但是startId...原创 2019-03-22 10:09:37 · 242 阅读 · 0 评论 -
权限申请
1.先定义一个常量数组,把Manifest中声明的权限加进去,如下:/** * 所需的所有权限信息 */private static final String[] NEEDED_PERMISSIONS = new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permissi...原创 2019-01-18 10:15:33 · 673 阅读 · 0 评论 -
ViewPager Fragment切换刷新数据
在需要刷新的fragment中重写下面的方法:@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); Log.i(TAG,"setUserVisibleHint"); //加载数据}...原创 2018-12-05 16:30:20 · 2410 阅读 · 0 评论 -
JNI开发流程
1.首先在JAVA中声名native方法,native方法需要C或C++实现,使用时需要加载动态库,如:static{System.loadLibrary("xxx");}2.编写JNI的头文件,XXX.h,也可以使用弓箭自动生成。函数名格式:Java_包名_类名_方法名JNIEnv * 表示一个指向JNI环境的指针,可以通过它来访问JNI提供的方法jobject 表示...原创 2018-11-05 22:35:40 · 60 阅读 · 0 评论