android
gabriel1210
这个作者很懒,什么都没留下…
展开
-
Android Studio javadoc 编译的时候一直报错 java.lang.IllegalArgumentException
kavadoc生成文档一直报错java.lang.IllegalArgumentException原创 2022-08-17 15:07:57 · 1210 阅读 · 1 评论 -
编译报错Task :app:compileDebugJavaWithJavac FAILED ������ (1.8.0_251) �г����쳣��������� Bug Database
AS新建项目的编译报错Task :app:compileDebugJavaWithJavac FAILED原创 2022-02-16 15:16:58 · 10893 阅读 · 0 评论 -
responseBody.contentLength(); = -1
文件下载的时候,一致拿不到文件的总长度,返回 -1。服务器对下发的资源做GZip操作,而此时就没有相应的content-length,在网络请求的时候在Header中加入:Request.Builder().addHeader(“Accept-Encoding”, “identity”)这样强迫服务器不走压缩。private OkHttpClient getOkHttpClient(Cache cache) { OkHttpClient okHttpClient = new OkHtt原创 2021-08-19 22:31:03 · 1154 阅读 · 0 评论 -
Cannot fit requested classes in a single dex file
项目不大,但是导入的包比较多,导致方法数量超过了一定数量Cannot fit requested classes in a single dex file (# methods: 67938 > 65536)Android 5.0之前的版本(API level < 21)使用Dalvik runtime来执行代码,默认限制每个APK只能使用一个classes.dex文件,而DEX规范又将单个DEX文件内引用的方法总数限制为65536个两种修改方式1、minSdkVersion 改成 2原创 2021-07-03 23:12:11 · 3015 阅读 · 1 评论 -
android 常用的工具类
android 常用的工具类android 开发中常用到的工具类,https://github.com/Blankj/AndroidUtilCode 提供了相对完整的通用工具类,大小200K。不算大,也可以自己选择其中个别工具类添加到自己的代码中。1、ToastUtils.javamake : 制作吐司make.setMode : 设置模式make.setGravity : 设置位置make.setBgColor原创 2021-07-03 21:18:21 · 640 阅读 · 0 评论 -
android studio 编译apk 控制台输出乱码
控制台输出乱码,在设置中设置file code无效,进help ->Edit Custom CM Options 创建.vmoptions文件后添加-Dfile.encoding=UTF-8保存重启,AS亲测有效原创 2021-07-01 23:23:11 · 309 阅读 · 2 评论 -
jni层直接读取手机sdcard上的压缩文件
今天遇到一个需求,就是将一个zip文件读入内存进行处理。当然也可以是普通文件。例如将sdcard/..../aaa.zip读入 char *的变量中。jstring native_calculateSearchTime(JNIEnv *env, jobject obj,jstring assetsZipFileName, jstring txtFilePath) {char *iBu...原创 2019-11-06 19:18:20 · 721 阅读 · 0 评论 -
android studio 配置Kotlin报错Error:Cause: org.gradle.api.internal.file.DefaultSourceDirectorySet.
Unable to find method 'org.gradle.api.internal.file.DefaultSourceDirectorySet。Error:Cause: org.gradle.api.internal.file.DefaultSourceDirectorySet。android studio 配置kt的时候报错,点击tool ->kotlin->...原创 2018-12-19 14:41:07 · 1956 阅读 · 0 评论 -
android 创建文件夹失败
android 创建文件夹失败下面是我遇到过的原因1、没有申请权限,这个很简单,在manifect.xml文件中添加权限申请<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permissi...原创 2018-12-21 12:04:05 · 7286 阅读 · 1 评论 -
android studio 搭建Kotlin环境(一)
1、新建一个工程,在android3.0可以直接选择“include Kotlin support”。如果不是3.0及以上也没关系,在后面手动安装一个Kotlin插件即可。2、安装Kotlin 插件。点击File->Setting->Plugins->browse repositories..->在左上角的输入框搜索Kotlin 。我已经安装过所以卡看不见绿色的in...原创 2019-01-03 19:15:58 · 469 阅读 · 0 评论 -
Gradle files have changed since last project sync. A project sync may be necessary for the IDE to wo
android studio莫名报错Gradle files have changed since last project sync. A project sync may be necessary for the IDE to work properly是因为从ubuntu系统换到window下,导致系统时间晚了8个小时。修改当前系统时间正确即可...原创 2019-01-03 19:49:54 · 1433 阅读 · 0 评论 -
android 图片压缩的两种方式
android系统在运行的过程中如果图片过大会导致应用所占内存快速增加致使内存溢出(OOM)所有在显示图片的过程中需要对较大图片进行一定的压缩处理,压缩方式有两种,一是对图片的质量进行压缩,而是对图片的宽高进行压缩。具体实现的时候会根据需求来设计不同的实现函数,下面列举几个可能用到的1、 /** * 质量压缩法1:可以指定压缩的比例 * * @...原创 2019-01-12 14:21:32 · 558 阅读 · 0 评论 -
android使用ucrop实现头像裁剪,图片裁剪的使用
github地址 https://github.com/linliangliang/CorpIamgeuCrop 支持缩放图片,旋转图片,改变裁剪长宽比例,支持出手势:一根指头滑动图片,两根指头旋转图片,捏拉缩放,双击缩放。等功能。对于裁剪头像的需求基本满足。下面记录在学习头像裁剪的笔记,以及一个上传到git的demo。1、依赖添加//项目中的build.gradleallp...原创 2019-01-13 13:46:32 · 3414 阅读 · 3 评论 -
Android中圆角,圆形图片的实现
android图片的圆形圆角图片的设计有多种方式1、使用框架2、自定义组件3、图片剪切下面从最简单的框架开始介绍1、使用框架,Fresco是Facebook提供的开源图片加载库,Fresco中实现了各种加载过程以及加载后的图片绘制,整体都很强大。下面简单介绍Fresco的使用。(当然你也可以使用其他框架)https://www.fresco-cn.org/docs/...原创 2019-01-13 15:29:46 · 832 阅读 · 0 评论 -
android (一)RecycleView组件的使用
先上github为敬 https://github.com/linliangliang/RecycleViewRecyclerView是support:recyclerview-v7中提供的控件,新添加的一个用来取代ListView。RecyclerView已经标准化ViewHolder,我们自定义的ViewHoler需要继承 RecyclerView.ViewHolder,然后在构造方法中初...原创 2019-01-14 20:11:13 · 1386 阅读 · 0 评论 -
ListView里的CheckBox选中后滑动时候选择错位,checkbox其他checkbox也被同时选中的问题
今天在项目中ListView显示的子组件中包含复选框checkBox,运行起来发现类两个问题。例如,第一屏能显示五个checkBox,第二屏显示6-10的checkBox,问题1、我选中了第一个checkbox,但是屏的的第一个(也就是第六个)checkbox也被同时选中。 我选中第二个,第七个就被选中。问题2、选中几个checkBox后,多次滑动ListView,滑动过程中会发...原创 2019-06-05 09:35:44 · 582 阅读 · 2 评论 -
android socket编程 收不到网络调试助手发送的消息
网络调试助手能够成功的接收到消息,但是发出去的消息客户端接收不到解决办法:在输入完要发送的字符串后后,多加一个回车(按一下enter键)可以看到如果这个时候勾选“安装十六进制发送” 结尾一定多了个0D 0A...原创 2019-07-01 14:57:09 · 1730 阅读 · 0 评论 -
Android studio生成APK打包,修改生成APK的路径和名字
在app的build.gradle的android添加输出时候的路径和名字android { compileSdkVersion 26 defaultConfig { applicationId "com.example.test" minSdkVersion 17 targetSdkVersion 26 ver...原创 2018-10-25 19:00:12 · 9651 阅读 · 0 评论 -
android webView的简单使用
网上关于webView的介绍很多很全,例如简书https://www.jianshu.com/p/32d48ca7d0e0下面是一个webview的简单demo1、activity_main.xml<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.and...原创 2018-12-03 14:58:33 · 254 阅读 · 0 评论 -
android界面设计笔记(二)实现顶部底部二级导航栏
下载demo:https://github.com/linliangliang/BottomNavagationBar二级导航栏的实现是在之前学习导航栏的两种实现方式的基础上实现的。1、https://blog.csdn.net/qq_25066049/article/details/846479882、https://blog.csdn.net/qq_25066049/article...原创 2018-12-03 10:37:17 · 1913 阅读 · 0 评论 -
android 使用handle警告,,存在内存泄漏的危险,使用静态内部类和弱引用的方式解决。
Handle警告的原因:handle定义为内部类,会持有外部类的引用,如果外部类结束,handle因为执行耗时操作没有结束,并持有外部类的引用,导致外部类占用的内存不能释放。解决办法:handle定义为静态内部类,handle对于外部类的组件和方法的操作借助弱引用来实现。public class MainActivity{ //定义自定义handle变量 private ...原创 2018-10-24 16:19:23 · 1122 阅读 · 0 评论 -
android调用相机拍照返回的照片大小太小,变得模糊
1、使用相机拍照默认情况下调用相机的方式:Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CAMERA_REQUEST_CODE);//CAMERA_REQUEST_CODE=1一个int表示请求码在onActivityResult中获取返回的图片:...原创 2018-10-31 10:28:35 · 4387 阅读 · 2 评论 -
android.os.FileUriExposedException: file:///storage/emulated/0/myxmpp/154094
在项目的MainActivity的开始添加下面这段代码if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy( builder....原创 2018-10-31 09:44:44 · 1102 阅读 · 0 评论 -
android 如何判读app应用是否拥有某种权限
"android.permission.CAMERA"表示要判断的权限,此处以相机权限为例说明"com.zhengyuan.learningqrscan"表示项目的包名//动态申请权限 private void getPrimission() { PackageManager pm = getPackageManager(); boolean pe...原创 2018-10-26 09:38:06 · 1154 阅读 · 1 评论 -
android studio 使用zxing实现扫码功能
1、添加依赖在项目的build.gradle添加:maven { url 'https://jitpack.io' }allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } }}在app的build.gradl...原创 2018-10-25 20:49:46 · 4643 阅读 · 1 评论 -
android 在发布程序后禁止程序的日志log输出
android程序在发布后,会禁用日志的输出以提高效率。其实现在很多手机直接禁用了低级别的日志输出,例如在手机上测试的时候可能会发现log.v,log.d输出在控制台看不见,而在模拟器上面可以输出。就是因为被系统禁了。为了方便调试的时候有调试输出,在发布后禁止日志输出。我们可以自定义一个类。开发时设置LOGLEVEL为6,要发布时设置为0发布public class LogUti...原创 2018-10-18 15:14:18 · 2360 阅读 · 0 评论 -
android开发 在layout文件夹下面建文件夹进行xml文件管理
在android项目比较大的时候,如果不进行分类管理,管理起来比较麻烦。当然也可以通过良好的命名规则进行区分。1、android开发是不能直接新建文件夹的,需要配置。2、在app的build.gradle文件夹添加要建文件夹的路径,例如我要在layout下面新建一个aftersale文件夹存xml文件,那么我需要添加'src/main/res/layout/aftersale'到“re...原创 2018-10-18 14:26:53 · 3923 阅读 · 0 评论 -
android 设计比较美观的登录界面
登录界面的展示效果大概如此 一、编写activity_main.xml文件。代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas...原创 2018-09-25 19:41:03 · 27478 阅读 · 13 评论 -
javaWeb中文乱码情况的处理
中文乱码出现的原因是由于原因主要有两个:一个是字符转储传输过程中编码不一致导致的,一个是编码本就不支持中文。支持中文的编码有(国标GB):GBK,GB2312,GBK18030,和UTF-8。(个人更喜欢使用UTF-8) javaWeb中乱码情况主要分三种情况:一、jsp页面显示中文乱码。保存中文字符 重新打开乱码。二、客户端发送数据到服务器,服务器接收出现乱码。客户端发...原创 2018-09-18 19:22:54 · 529 阅读 · 0 评论 -
android实现一个圆形的进度条功能
该圆形进度条没有数字,只有一个加载中显示。定义一个进度条的xml文件,loading.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="10...原创 2018-11-08 19:31:17 · 326 阅读 · 0 评论 -
android 自定义button样式 style
1、在drawable中新建一个button_drawablw.xml文件<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="fal.原创 2018-11-08 19:57:36 · 4580 阅读 · 0 评论 -
android界面设计笔记(二)底部导航栏的两种实现方式
demo:https://github.com/linliangliang/BottomNavagationBarandroid底部导航栏的实现方式比较多,今天学习其中两种方式:一、使用tabLayout+Fragment实现。二、使用BottomNavagationBar实现。第一种方式:https://blog.csdn.net/qq_25066049/article/detail...原创 2018-11-30 13:48:45 · 832 阅读 · 0 评论 -
android界面设计笔记(一)底部导航栏的两种实现方式
demo:https://github.com/linliangliang/BottomNavagationBarandroid底部导航栏的实现方式比较多,今天学习其中两种方式:一、使用tabLayout+Fragment实现。二、使用BottomNavigationBar实现。第二种实现方式:https://blog.csdn.net/qq_25066049/article/de...原创 2018-11-30 13:35:30 · 1114 阅读 · 0 评论 -
android界面设计(二)侧边栏的两种实现方式
dome:https://github.com/linliangliang/sidebar一、使用sideingMenu结合fragment实现。二、使用NavigationView和DrawerLayout实现。第一种实现方式:https://mp.csdn.net/postedit/846124321、下面介绍使用NavigationView,DrawerLayout的方式实现...原创 2018-11-29 11:31:21 · 1402 阅读 · 0 评论 -
android界面设计(一)侧边栏的两种实现方式
dome:https://github.com/linliangliang/sidebar一、使用slideingMenu结合fragment实现。二、使用Navigation和DrawerLayout实现。第二种实现方式:https://mp.csdn.net/postedit/846135681、下面介绍使用sideingMenu的方式实现侧边栏。主界面activity_m...原创 2018-11-29 09:26:08 · 7628 阅读 · 2 评论 -
android 使用AsyncTask实现异步下载文件
android中的异步方法也很多,之前一直使用Handler+Thread的方法,今天学习了AsyncTask,来实现耗时操作:从网络下载文件。AsyncTask定义了三种泛型类型Params,Progress和Result。我们使用AsyncTask实现4个常用的方法来完成相应的功能,如下:(1) doInBackground: 子线程中运行,耗时操作。将执行结束的结果返回onPos...原创 2018-11-19 15:13:28 · 1000 阅读 · 0 评论 -
android 使用xmpp smack openfire实现即时通讯(一)
介绍:XMPP :XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。 smack:是一个开源包,易于使用的XMPP(jabber)客户端类库openfire :作为服务器提供服务。openfire 安装:服务下载地址:http://www.igniterealtime.org/projects/openfire/...原创 2018-11-21 21:00:55 · 882 阅读 · 0 评论 -
android 沉浸式状态栏
自己在学习中的笔记。参考:https://www.jianshu.com/p/dc20e98b9a901、activity代码public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { //4.4...转载 2018-11-21 20:05:10 · 119 阅读 · 0 评论 -
android 将module打包成jar文件供其他工程使用
GitHub地址:https://github.com/linliangliang/TestHttpmodule可以打包成jar文件和aar文件,.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。.aar:包含所有资源,class以及res资源文件全部包含。我们下面只介绍导出jar文件。如图:app module是主modul,用来测试...原创 2018-11-14 11:43:53 · 1587 阅读 · 0 评论 -
android新建进程操作UI进程中的view报错android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original
报错:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views。下面提供一种解决方式:thread+Handle,其中Handle使用静态内部类的方式实现更新主进程中的view. ...原创 2018-11-14 09:33:41 · 1854 阅读 · 0 评论