关键字:
  • Android 引用第三方so文件加载报错

    作者: king       发表时间: 2018-10-02 11:30
    问题分析   不同CPU架构的Android手机加载时会在libs下找自己对应的目录,从对应的目录下寻找需要的.so文件;如果没有对应的目录,就会去armeabi下去寻找。 如果已经有对应的目录,但是如果没有找到对应的.so文件,也不会去armeabi下去寻找了。 所以需要注意工程配置哪几个so文件目录,需要加载对应的so文件,不然会报错。 如果配置了 ndk {         abiFilters "armeabi", "armeabi-v7a", "x86", "mips"     },而只有armeabi下有so文件,遇到armeabi-v7a平台的手机,没有armeabi-v7a目录下的so文件就会加载报错。 解决方法 1.去掉以下配置,在main文件夹中新建jniLibs资源包 sourceS...
  • fitsSystemWindows属性解析

    作者: king       发表时间: 2018-10-02 11:00
    属性说明 fitsSystemWindows属性可以让view根据系统窗口来调整自己的布局;系统窗口包括系统状态栏、导航栏、输入法等,包括一些手机系统带有的底部虚拟按键。 android:fitsSystemWindows=”true” 会触发View的padding属性来给系统窗口留出空间,设置为false时可能出现Toolbar与状态栏重叠的情况。 这个属性可以给任何view设置,只要设置了这个属性,此view的其他所有padding属性失效。 fitsSystemWindows属性的生效条件是设置了透明状态栏(StatusBar)或者透明导航栏(NavigationBar)。fitsSystemWindows只作用在Android4.4及以上的系统,因为4.4以下的系统StatusBar没有透明状态。 透明状态栏 4.4:设置android:windowTranslucateStatus属性,并且手动添加一个和状态栏高度等高的View。 5.0及以上:不设置android:windowTransluc...
  • 防止Adapter线程异常

    作者: king       发表时间: 2018-10-02 10:50
    报错信息 the content of the adapter has changed but Listview did not receive a notification. Make sure the content of the adapter is not modified from a background thread,but only from the UI thread. Make sure your adapter calls notifyDatachanged() when its content changes. 解决方法 1.Adapter避免在子线程修改数据。 2.在主线程中更新数据后,及时调用notifyDataSetChanged。  
  • TextView maxEms 与显示省略号的问题

    作者: king       发表时间: 2018-10-02 10:25
    em em是一个印刷排版的单位,表示字宽的单位。 equal M 意思和M字符一致的宽度为一个单位,简称em。 ems是em的复数表达。 附:setEm代码  public void setEms(int ems) {         mMaxWidth = mMinWidth = ems;         mMaxWidthMode = mMinWidthMode = EMS;         requestLayout();                 invalidate(); }   比较 maxLength=”5” 限制TextView最多5个字符数。汉字、英文、数字都算一个字符。超过限制时截断,不会有省略号。 maxEms=&r...
  • Fragment中的返回问题

    作者: king       发表时间: 2018-10-01 15:45
    Fragment newFragment = new ExampleFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); transaction.commit(); 通过transaction.addToBackStack(null),当按返回键时,会将之前的fragment恢复。 注意:需要Fragment与Activity版本对应,即FragmentV4对应FragmentActivity,版本不匹配将会导致Activity被直接关闭,而不是回到上一个Fragment。 如果Fragment与Activity版本对应不上,又想实现fragment的返回栈效果,则需要重写Fragment所在Activity的onBackPre...
  • Android 编译报错:“Error running ...: Please select Android SDK”

    作者: king       发表时间: 2018-10-01 15:29
    原因: 由于Android Studio异常关闭,使得某些配置文件损坏,因此需要在线更新SDK才能恢复被损坏的文件。 解决办法: 1.依次选择主菜单“File”——“Settings” 2.依次展开“Appearance & Behavior”——“System Settings”——“Android SDK”,单击SDK目录输入框右边的“Edit”链接。 3.在弹出的SDK的设置界面,SDK的目录保持不动,单击页面下方的“Next”按钮,在下一个页面继续单击“Next”按钮,等待Android Studio下载完成最新的编译工具,单击“Finish”完成更新。   回到Android Studio的主界面重新编译即可。
  • Android Studio JNI开发(C语言版)

    作者: king       发表时间: 2018-08-21 00:29
    2.JNI开发 2.1 配置jni开发工具 * ndk (native develop kit ) 下载http://developer.android.com/tools/ndk/index.html 解压到C:\Android\android-sdk\ndk-bundle,将该目录配置到系统环境变量(测试下ndk-build出现下面提示说明配置成功) C:\Users\kl>ndk-build Android NDK: Could not find application project directory ! Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. C:\Android\android-sdk\ndk-bundle\build\\..\build\core\build-local.mk:151: *** Android NDK: Aborting    .  Stop. ...
  • 处理hideSoftInputFromWindow失效问题

    作者: king       发表时间: 2018-07-10 23:42
    软键盘显示时参数: public static final int SHOW_FORCED = 0x0002; 非强制不收起。此参数导致hideSoftInputFromWindow失效   修改方式: 显示软键盘时,将SHOW_FORCED 替换为SHOW_IMPLICIT隐式请求软键盘。 imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);  
  • 配置并行编译解决Gradle编译慢

    作者: king       发表时间: 2018-07-10 23:38
    1.gradle.proerties 文件 org.gradle.jvmargs=-Xmx2048m org.gradle.parallel=true org.gradle.configureondemand=true 2.settings  ->Build ->Compile 勾选 compile independent modules in parallel 3.settings  ->Build ->Gradle 勾选 Offlinework  
  • isFinishing()处理 Unable to add window

    作者: king       发表时间: 2018-07-10 23:25
    先调用activity的isFinishing方法判断一下 以下代码的场景:蓝牙连接或断开时调用,但是Activity退出时,断开蓝牙也会回调,这是执行window.clearFlags会异常。 解决办法是先判断isFinishing,false的情况再执行。 override fun onBleConnectChanged(isConnected: Boolean) {     if (!isFinishing)     {         if (isConnected)         {             window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREE...
  • android 唤醒屏幕

    作者: king       发表时间: 2018-07-10 23:14
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED         | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
  • Android中常用的设计模式

    作者: king       发表时间: 2018-07-10 08:19
    1.单例模式 private volatile static ImageLoader instance; public static ImageLoader getInstance() { if (instance == null) { synchronized (ImageLoader.class) { if (instance == null) { instance = new ImageLoader(); } } } return instance; }       private static volatile EventBus defaultInstance; public static EventBus getDefault() { if (defaultInstance == null) { synchronized (EventBus.class) { if (defaultInstance == null) { defaultInsta...
  • Intent.ACTION_VIEW打开文件报错处理

    作者: king       发表时间: 2018-07-10 08:04
    Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(Intent.ACTION_VIEW); String type = getMIMEType(file); // intent.setDataAndType(QhFileProviderUtils.GetUriForFileByFileProvider(context, file), type); // 某些应用无法理解一个指向文件的content://格式的URI。以上方式无法加载文件。报错文件不存在或已损坏 intent.setDataAndType(Uri.fromFile(file), type); // 使用Uri.fromFile(file) android N报错 android.os.FileUriExposedException: file:///storage/emulated/0/heqia/...
  • 魅族魅蓝3(m3) Android5.1使用tint属性运行报错

    作者: king       发表时间: 2018-06-12 02:06
      android:backgroundTint="@color/colorPrimary"         android:tint="@android:color/white" 魅族魅蓝3(m3) Android5.1 使用了以上两个属性,运行报错。去掉后ok了。  <android.support.design.widget.FloatingActionButton         android:id="@+id/fab"         android:layout_width="wrap_content"         android:layout_height="wrap_content&qu...
  • Android 调试的环境问题

    作者: king       发表时间: 2018-06-09 17:33
    魅族手机安装,提示安装失败,更新包不兼容 解决方法如下: 设置->指纹和安全->访客模式,清除访客数据,即可。 或者(锁屏, 输入访客密码,进入访客模式 ,删除里面对应的App。 1.Android USB调试不能安装apk遇到的一个坑 INSTALL_FAILED_USER_RESTRICTED 用户拒绝了USB安装,关闭usb安装管理 魅族手机:手机管家–权限管理–USB安装管理–关闭USB安装管理  小米手机:开发者选项—打开USB安装(允许通过USB安装应用)    2.Unable to resolve dependency for :constraint-layout: Could not resolve constraint-layout:1.0.2; setting->System setting->android SDK->SDK Tools 最下面关于constraint-layout...