自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 如何在Windows10系统中修改.jar文件的默认应用

在Windows系统中修改jar包的默认打开方式和修改其它类型文件不太一样。

2021-11-12 13:01:42 4667 1

原创 怎样在Android Studio中制作jar包

用过eclipse的都知道,它有一个Export的功能可以导出jar包,非常方便。那么Android Studio如何实现这一点呢?其实很简单,我们在用Android Studio构建项目的时候,它就会帮我们编译源码并生成jar包,只不过这个jar包是个中间产物,最终还是要和其它资源文件一起合成最终的安装包。既然知道了这一点,那么问题中如何制作jar包的表述或许就不太准确了,确切的说应该是我们如何找到这个中间产物?或者为了很便捷,把它重命名一下重新放个位置。以下便是具体步骤。1.确定jar包的位置ja

2021-10-21 14:53:31 1475

原创 Task :app:lintVitalAnalyzeRelease FAILED

问题描述用Android Studio构建一个项目(原本是eclipse ADT项目,刚迁移到studio),构建debug版本时正常,构建release版本时报错,错误信息如下:FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:lintVitalAnalyzeRelease'.> Could not resolve all files for configur

2021-10-20 22:56:24 4784

原创 Android SQLite数据库版本升级(分逐级升级和跨版本升级)

参考:Android Sqlite数据库跨版本升级 保存之前数据本文说的数据库升级是基于Android原生APISQLiteOpenHelper实现的逻辑,不涉及第三方库。其实如果使用官方推荐的Room库的话,可以利用RoomDatabase.Builder.addMigrations()方法配合Migration类灵活的设置迁移(升级)路径,根本不需要自己来实现其中的逻辑。首先,关于SQLiteOpenHelper类我们需要知道几点:onCreate()方法只在第一次创建数据库的时候调用,onUpgr

2021-05-28 16:46:30 2747 2

原创 配置环境变量

一般情况,使用Android Studio的默认配置就可以了。但是如果C盘空间不是太充裕,则可以通过配置环境变量的方式将一些对磁盘资源要求较高的数据存放在其他地方。一般磁盘占用较大的就两个:Gradle 缓存和 AVD 数据。Gradle cache默认路径:%USERPROFILE%\.gradle.可以通过配置环境变量GRADLE_USER_HOME指向其他位置,如:D:\AppDat...

2020-04-20 15:10:48 280

原创 查看签名信息

apk 包用解压工具解压出 META-INF/CERT.RSA 文件命令行输入keytool -printcert -file ...\CERT.RSAkeystore命令行输入keytool -list -v -keystore ...\filename.keystore关于 keytool 命令的具体用法,参考Keytool Reference....

2020-04-20 12:11:38 330

原创 关于"No toolchains found in the NDK toolchains folder"的错误

Gradle Sync Issues:ERROR: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-androidThis version of the NDK may be incompatible with the Android Gradle plugin versi...

2019-10-12 10:43:43 661

原创 java.lang.NoClassDefFoundError: <clinit> failed for class xxx

这个错误是在我使用第三方监控sdk展示监控视频时发生的。运行时崩溃的日志如下:java.lang.NoClassDefFoundError: &amp;amp;amp;lt;clinit&amp;amp;amp;gt; failed for class org.MediaPlayer.PlayM4.Player; see exception in other thread at com.gexun.kanban.main.monito...

2018-11-02 16:02:15 2666

原创 使用RadioButton需要注意的几个地方

注意点一如图,在RadioGroup中放置两个单选按钮a和b,给RadioGroup设置监听 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGr...

2018-09-18 15:43:26 756

转载 30分钟弄明白Touch事件分发机制

Touch事件分发中只有两个主角:ViewGroup 和 View。 Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInt...

2018-08-28 14:16:54 220

原创 JSONObject和JSONArray使用注意事项

一、不要使用org.json.JSONObject 和org.json.JSONArray 的toString() 方法来生成json字符串,因为如果其中某个字符串类型字段中含有转义字符或’/‘等字符,toString() 方法会在这些字符前面加上‘\\’。例如:JSONArray imgArray = new JSONArray();JSONObject object = new JSONOb

2017-12-25 19:28:55 3599

原创 画一条虚线

先创建 dashed.xml<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" android:color="@color/gainsboro" and

2017-12-04 15:20:32 578

转载 判断当前线程是否UI线程

两种方法:1.if (Thread.currentThread() == Looper.getMainLooper().getThread()) { // UI线程 } else { // 非UI线程 }2.if (Looper.myLooper() == Looper.getM

2017-11-20 11:23:08 4300

原创 so库相关错误

一、xx.so: has text relocations错误日志如下:E/linker: /data/app/com.gexun.sunmess_H-1/lib/arm/libCpuFeatures.so: has text relocationsE/AndroidRuntime: FATAL EXCEPTION: Thread-4 Proces

2017-08-15 12:42:11 961

原创 Spinner 使用注意点

关于Spinner的使用参考Android官网Api Guides->User Interface->Input Controls->Spinners.但有几点需要注意:自定义显示样式Spinner spinner = (Spinner) findViewById(R.id.spinner);// 此处的布局是用于控件本身的,想要修改控件本身的样式,替换此处布局ArrayAdapt

2017-08-08 20:59:27 430

原创 Generate Signed APK时报"MissingTranslation"类型错误

错误如下:Error: "app_name" is not translated in "ar" (Arabic), "cs" (Czech), "de" (German), "es" (Spanish), "fi" (Finnish), "fr" (French), "he" (Hebrew), "it" (Italian), "iw" (Hebrew), "ja" (Japanese),

2017-07-24 20:05:20 614

原创 集合List<E>转换成对应元素类型的数组E[]

一开始自然想到强转,如下:List list = new ArrayList<>();String[] array = (String[]) list.toArray();结果运行时异常。仔细发现还有个重载方法,如下:List list = new ArrayList<>();String[] array = list.toArray(new String[list.size(

2017-07-14 19:51:37 954

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除