![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
长安之
这个世界上根本没有正确的选择, 我们只不过是要努力奋斗, 使每个当初的选择变得正确。
展开
-
Android第一行代码-系列-总结-总览
以上是郭神在第一行代码中的图片总结复习的顺序也是按此来进行可以说Android基础在这张图片中已经全部包含。一般在做项目的时候基本以上会全部包含原创 2021-02-22 22:10:38 · 161 阅读 · 0 评论 -
Java/Android程序连接到SSH服务器
近期接到一个需求,自己开发的app连接到linux系统服务器,操作命令行,并对返回的数据进行处理,没看错,就是这么的偏门,上百度找啊找,还好,还真有这么个实现。所以我就哐哧哐哧的来了这,开始了我的学习开发。查看网上的资料,发现使用程序连接到linux服务器的方式有两种:1 Ganymed SSH-2;2 JSch;这两个是jar包,直接导入到项目中就可以。我首先用的是Ganymed,发现可以正常连接host主机,但是容器的连接不了,所以只好用了jsch(这个名字用中文‘净身出户’)总体上来说,主要有俩原创 2020-05-16 14:02:28 · 744 阅读 · 4 评论 -
应用宝(企业)上线APK流程
1 登录应用宝开放平台[官网地址:https://open.tencent.com/](https://open.tencent.com/)2 进入到应用开放平台3 填写资料4 邮箱效验5 创建应用 如果账号可以登录,还需要提供测试账号...原创 2020-01-09 14:25:36 · 782 阅读 · 0 评论 -
Android 好用的插件
各种好用的插件(Android Studio)1 GsonFormat2 Android ButterKnife Zelezny3 translator 翻译4 Lifecycle Sorter 对其生命周期方法位置进行先后排序 快捷键Ctrl + alt + K5 findBugs-IDEA 查找bug的插件6 JsonOnlineViewer 在Android Studio中请...原创 2019-11-18 10:36:56 · 147 阅读 · 0 评论 -
Android 反编译
编译工具下载: jd-gui-1.6.4.jardex-tools-2.11 首先解压apk拿到 classes.dex 和 classes2.dex2 解压dex-tools-2.1,并把classes.dex 和 classes2.dex 放到这个文件的bin同级的目录下。3 使用命令行在当前文件夹下,生成jar文件 `d2j-dex2jar classes.dex classe...原创 2019-11-18 10:32:03 · 692 阅读 · 0 评论 -
bugly-tinker热更新的使用说明
热更新的使用说明打基准包修改tinkerId 的值,tinkerId = "2.2.0.0-base" 在项目app目录中有一个tinker-support.gradle的文件,这个是bugly-tinker的支持插件,每次发布全量包的时候需要修改tinkerId的值,全量包指的的以前没有集成tinker时的包。tinkerId的值tinkerId = "2.2.0.0-ba...原创 2019-11-05 14:36:15 · 212 阅读 · 0 评论 -
Android热更新,热修复 Tinker接入项目详解
Android热更新Tinker接入项目详解:1 项目根目录build.gradle文件添加:dependencies { classpath 'com.android.tools.build:gradle:3.4.1' // NOTE: Do not place your application dependencies here; they belong // in...原创 2019-10-31 18:51:33 · 406 阅读 · 0 评论 -
GreenDao使用sql语句(Order by CASE WHEN)
GreenDao使用sql语句详解public List<VendorBean> getProviderInfo(String condition,boolean brate, int condition1,int mark1, int mark2, String ztName) { ...原创 2019-10-23 20:11:37 · 1337 阅读 · 0 评论 -
okhttp文档中的请求方式以及取消请求的方法
okhttp文档的Recipe的翻译,记录okhttp的请求方法以及取消方式1 同步的GET下载一个文件,打印它的头文件,并将它的响应体打印为字符串。对于小文档,响应体上的string()方法非常方便和高效。但是,如果响应主体很大(大于1 MiB),则应避免使用string(),因为它会将整个文档加载到内存中。在这种情况下,最好将正文作为流处理。 private final OkHttp...原创 2019-10-23 19:54:00 · 2461 阅读 · 0 评论 -
Comparison method violates its general contract!
前几天发现通讯录里面的列表不能按照A-Z的顺序排序,当把try catch去掉后,直接闪退。bug如下:java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(TimSort.java:743) ...原创 2019-08-05 15:17:14 · 205 阅读 · 0 评论 -
序列化Parcelable,当有字段是对象的处理,及Parcelable的反序列化
有字段是对象的处理,必须**createTypedArrayList和dest.writeTypedList()**只有这样才可以在反序列化的时候收到值。还有一个对象序列化使用intent传值后,反序列化的对象和原来的对象不是一个引用。以下是bean类的序列化:public class ResponseDefault implements Parcelable { private Str...原创 2019-05-10 15:08:58 · 704 阅读 · 0 评论 -
Android 随手指移动的imageview
由于项目中有要求所以需要做一个随手指移动的悬浮球吧,我决定使用自定义的View 进行实现,由于页面是模拟真实页面的,遇到一些麻烦,所以请教了我以前的同事,并非常感谢我同事给与我的建议。当页面中有其他view的时候,当点击其他view时隐藏或是显示别的view,会影响到移动的view的位置,并使移动view还原到初始的位置,最后发现是view的重新测量导致的,所以决定在移动view的外层加一个Fra...原创 2019-03-15 12:44:59 · 1718 阅读 · 0 评论 -
OkHttp3-使用详解-OkHttpClient
首先附上官网地址:http://square.github.io/okhttp/3.x/okhttp/(点击传送官网,如果进不去,请自行翻墙)翻译官网:public class OkHttpClientextends Objectimplements Cloneable, Call.Factory, WebSocket.FactoryFactory for calls, which c...原创 2019-01-07 14:45:23 · 5848 阅读 · 0 评论 -
Android 过时方法的一些修改
1 过时的方法:popupWindow.setBackgroundDrawable(new BitmapDrawable());改正:popupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));也可以使用new ColorDrawable();2 过时的方法:getResources().getColor(R.colo...原创 2018-12-14 17:13:24 · 1832 阅读 · 0 评论 -
Android-Crash The content of the adapter has changed but ListView did not receive a notification.
在友盟的crash日志中发现bug,当ListView的adapter的数据源发生改变了,但是没有notify的时候回发生错误: java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the ...原创 2018-10-17 11:19:59 · 387 阅读 · 1 评论 -
Toast长时间显示的处理
在工作中经常有一些地方需要Toast,但是有的时候由于多次的调用会使Toast一直显示,即使把App关掉也不行,非常影响用户体验:所以现改为如下: private static Toast toast; /** * 只显示当前点击时间+1秒的Toast * @param context * @param resId 需要显示的message,也可以改为s...原创 2018-08-16 14:18:48 · 2464 阅读 · 0 评论 -
获取当天的时间/俩个日期进行比较
工作中对时间的一些使用: 由于有些时间服务器返回的是:2018-08-16T18:10:22这些的,可以使用截取字符串的方式进行 /** * 返回月/日/年 */ public static String getDate(String str) { if (str != null && str.length() == 0)...原创 2018-08-16 14:26:31 · 1611 阅读 · 0 评论 -
对浮点数字进行小数位的保留
在工作中,不可避免的要和数字打交道,不同的公司对数字的要求不同,有的公司需要3.00(证券公司一般要求这样),而有的公司只需要显示3就可以了: //强制性保留0.00 public static String keepTwoDecimal(double value) { return String.format("%.2f", value).toString(); ...原创 2018-08-16 14:32:02 · 2407 阅读 · 0 评论 -
Dialog显示加载中
移动端的的网络情况有的时候是很不稳定的(在地下室额,气死人)或是使用某些运营商的SIM卡,有的时候进出地铁就会没信号,所以造成数据加载很慢,假如我们没有对这块做处理,App的使用者就会很烦躁(一般不超过5秒),所以就有了当在加载数据的时候,显示一个正在加载,会让使用者的情绪得到一定的缓解。这个哥们的Dialog就写的不错,这个dialog是仿ios的加载弹窗 ,以下是原作者的地址及使用: 原...原创 2018-08-16 15:29:00 · 3088 阅读 · 0 评论 -
Android图片的十六进制字符串和Byte数组的转化
这几天在弄打印的相关事情,由于打印的内容是从服务端传递过来的,服务端是使用的C#,在C#中是有一些关于报表的控件的,通过这个控件可以直接生产成一个打印的报表,这个打印的报表就是我所需要的内容(因为这个报表中有一些C#自己设置的模板),最后决定把这个报表按照图片传递过来。但是这个图片在服务端存储的是十六进制的字符串,所以在android端只能通过解析这个字符串为字节数组,再把这个字节数组通过Bitm...原创 2018-08-22 11:55:06 · 975 阅读 · 0 评论 -
将GZIPInputStream方式的流转化为字节数组或是字符串
Android的网络请求用的是HttpURLConnection的时候,当请求成功的时候会使用 InputStream inputStream = conn.getInputStream();进行数据的接收,这个inputStream就是数据。 今天做项目的时候由于使用的蓝牙打印机,这个打印机根据业务要求需要接收图片,(后端是使用的16进制的字符转存储的这张图片,在c#中打印报表,这个报表就...原创 2018-08-31 17:43:39 · 5588 阅读 · 0 评论 -
使用Retrofit上传图片到服务器踩坑
在项目中使用流的方式给服务器传递数据,网上大部分使用retrofit上传图片大致可以分为三种,一种是把参数和图片的数据一起封装为一个集合进行数据传递;第二种是使用map把所有的数据以键值对的形式进行传递;第三种是把图片和参数分开传递。 以下是以第三种方式进行上传图片: JSONObject reJson = new JSONObject(); try { ...原创 2018-09-17 13:44:35 · 2233 阅读 · 0 评论 -
onActivityResult()和onResume()的调用顺序问题
问题描述:由于在项目中的onResume()方法中对某一个TextView进行了默认数据的设置(此为前提),后来由于需要跳转到另一个activity中进行数据的获取(setResult()),所以需要在onActivityResult()进行接收,后来打断点发现数据也接收到了,就是不显示;经查明,发现是在onResume()方法中进行了默认数据的设置,而他们的执行先后顺序是onActivityRe...原创 2018-09-13 09:55:03 · 1594 阅读 · 0 评论 -
Android 昨日 本周内 本月内 本季度 本年度所取得范围
由于项目中需要一个日期范围,因此写下了昨日 本周内 本月内 本季度 本年度所取得范围,所有的一切是基于今天的日期。 //获取当天的时间 public static String getCurrentDate() { Calendar now = Calendar.getInstance(); int calendarMonth = now.get(Ca...原创 2018-09-27 16:17:59 · 466 阅读 · 0 评论 -
Android创建文件报错file.createNewFile
在程序中有需要使用照相机照照片,并上传一张图片,目前的做法是:先将一张图片存储在某一个地方,然后在进行上传,但是在创建文件的过程中一直报错,要不就是文件创建不下来,后来发现,是需要先将文件夹创建后再创建文件,否则不行。代码如下: Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); String path...原创 2018-09-28 10:52:02 · 3430 阅读 · 0 评论 -
Android JSONObject添加带斜杠的字符串会自动添加反斜杠(转义字符)
今天发现项目中的地址在传递给服务器的时候有转义字符,服务器处理不了;但是自己从SharedPreferences中取出来的字符串是没有的。JSONObject json = new JSONObject();String IP = "http://111.11.111.111:8081/api/Android/"; json .put("IP",IP );这个IP 在json 中是ht...原创 2018-10-10 14:20:53 · 15169 阅读 · 1 评论 -
Android NoClassDefFoundError异常
今天友盟日志中出现一个crash:java.lang.NoClassDefFoundError: rx.plugins.RxJavaPlugins乍一看还以为是RxJava的问题呢。但是一看异常感觉是dex包的问题,因为项目中的方法已经超过65535了,所以当时在build.gradle中添加了defaultConfig multiDexEnabled true,所以可以加载多个dex包,但...原创 2018-10-22 09:32:39 · 2479 阅读 · 0 评论 -
build.gradle的一些打包配置
apply plugin: 'com.android.application'//正式地址def API_RELEASE_HOST = "\"http://www.baidu.com/release/website/\""//测试地址def API_DEV_HOST = "\"http://www.baidu.com/debug/website/\""android { si...原创 2018-08-16 14:14:16 · 1398 阅读 · 0 评论