知识 记忆 积累
阿杨的知识备份库
知识无穷无尽,有时候查到的知识下次可能忘记了,也可能会用,所以弄这么一个博客,进行知识的存储,也共享给需要的人!等我的水平够了,希望也可以自己写出原创的东西
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
關於Window系統引用androidx.paging:paging-runtime:3.0.0報錯的處理記錄
Paging3,谷歌推薦使用的自動加載數據庫,具體使用,看郭霖的博客,有具體的介紹現在主要說的是Windows系統上引入這個後發現的問題我用的是Mac,APP指定的gradle為3.5.3,比較舊,我用的電腦為Mac引用後,能夠正確時候,但是項目跑到Windows系統後發現,不行了,提示java版本,同學有同樣的情況,可以參考,看是否可以解決後來發現,這個是gradle在3.5版本上,存在的bug,方案就是將gradle升級到3.6升級後可能會引發另外一個問題,具體查看博文http原创 2021-04-12 10:51:50 · 233 阅读 · 0 评论 -
記錄在AndroidStudio上新建Class文件自動對文件添加作者備註
直接上圖,windows同樣,就這樣吧,記錄下原创 2021-04-12 10:46:42 · 218 阅读 · 0 评论 -
Tablayout报错Error inflating class android.support.design.widget.TabLayout
需要将activity当前的theme继承Theme.AppCompat原创 2020-08-20 15:13:30 · 554 阅读 · 0 评论 -
ZBar學習筆記2
上一篇文章已經說到我要蛋疼的自己打包.so文件當前先去github地址:https://github.com/chentao0707/ZBarBuildProj把項目下載下來大家也可以看到,這個項目其實已經是6年以前的了,zbar也已經沒有人維護,所以你用zbar,就要做好,這個準備,zbar的掃碼準確度我認為zxing是沒有辦法比的下載下來發現,這個項目應該是一個通過Eclipse寫的,我下面會介紹如何在android studio快速的把項目跑起來,並直接生成.so文件我的電腦是Ma原创 2020-08-08 11:57:25 · 204 阅读 · 0 评论 -
ZBar學習筆記1
由於zxing掃碼庫,在實際過程中使用,用戶一致在抱怨掃碼困難,其實zxing,對於電腦生成的二維碼,或者手機端生成的二維碼,掃碼速度確實很快,但是當你將二維碼實際打印出來以後,這種方式更加貼近掃碼功能的使用,在對這些二維碼進行掃碼情況下,測試發現當你把手機橫起來,掃描,比你豎起來要能夠更加容易掃碼出來,由於zxing在掃描的情況下,默認橫屏的數據進行處理,實際使用的zxing庫為了更加快速的掃描,都添加了一個將橫向的圖像數據,轉換成豎向的數據,但是其實沒有用,因此覺得,項目zxing與zbar共存的方案,原创 2020-08-07 16:18:17 · 172 阅读 · 0 评论 -
PBOC規範計算MAC在Android上的使用
近期,公司安排了一個新的功能,需要對內容進行簽名,文檔上面的文字就是: 按PBOC规范计算MAC,初始向量为8字节0x00 之前並沒有用過這種方式計算簽名值,立馬百度搜索,確定了,這個計算mac,其實有兩種,後來後台的同事提供軟件以後發現,他們的簽名方法其實就是:PBOC3DESMAC,大家如果有別的疑問可以直接用這個關鍵字去搜索,就有很多文章了我得也就是根據網上搜索的,然後對立面錯誤的代碼進行修改,得到了,在Android系統上,契合這次任務使用的代碼,如果有需要,直接複製黏貼,拿去用就行,原创 2020-07-08 19:43:39 · 271 阅读 · 1 评论 -
为什么Looper中的Loop()方法不能导致主线程卡死
Android 的消息机制涉及了四个类:Handler: 消息的发送者和处理着Message: 消息的载体MessageQueue: 消息队列Looper: 消息循环体其中每一条线程只有一个消息队列MessageQueue, 消息的入队是通过 MessageQueue 中的 enqueueMessage() 方法完成的, 消息的出队是通过Looper 中的loop()方法完成的.Android 是单线程模型, UI的更新只能在主线程中执行, 在开发过程中, 不能在主线程中执行耗时的操作, 避原创 2020-07-06 10:08:58 · 436 阅读 · 0 评论 -
關於APP放置一段時間後出現卡在某個界面無響應的處理分享
背景:APP最近需要發新版本,提給測試部測試後,測試部發現了一個bug,APP放置在後台,手機息屏放置一段時間後,這個時間無法確定,測試部的人是放置一晚上,作為測試條件,發現確實存在這個問題原因分析:拿到手機後,打開應用,發現App可以打開,但是,無法進行任何操作,只能打開手機應用後台,關閉App進程,重新打開App,App恢復正常,一開始的判斷是App內存優化不足夠,導致的內存爆了,後來仔細分析並網上查詢以後,確定是App出現ANR導致的問題ANR導致的原因(網上搜索以後自行覺得的重點):In原创 2020-07-03 09:46:01 · 470 阅读 · 0 评论 -
Android项目中,需要html修饰的字符串样式
<string name="str_test_"><![CDATA[<font color="#8A8A8A">前面的内容?<br><br></font>]]><![CDATA[<font color="#000000">%1$s</font>]]><![CDATA[<font color="#8A8A8A"><br><br>*后面的内容</f.原创 2020-06-25 11:15:31 · 391 阅读 · 0 评论 -
Android App接入微信sdk的坑
大家從網上,看到的大部分接入文檔可能都沒有寫上去大家在做微信支付的時候,需要接受回調的時候回調的類名,必須是:WXPayEntryActivity其他微信功能的回調工作時:WXEntryActivity最後出現的結果就是:<activity android:name="com.macaupass.rechargeEasy.wxapi.WXEntry...原创 2019-05-10 17:05:28 · 781 阅读 · 0 评论 -
关于AndroidStudio对手机进行调试模式卡在waiting for debug
打开 As 的 setting,看 Plugins 下的 Android NDK Support 是否被关闭,如果是,打开原创 2018-08-01 08:53:50 · 1192 阅读 · 0 评论 -
Android 官方推荐 : DialogFragment 创建对话框
该文为转载文章,转载请出处:http://blog.youkuaiyun.com/lmj623565791/article/details/378154131、 概述DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。在DialogFragment产生之转载 2017-02-16 11:15:41 · 219 阅读 · 0 评论 -
内存映射文件的解析
下面的例子演示了如何使用内存映射文件来读写。我们使用RandomAccessFile打开文件并使用FileChannel的map()方法将它映射到内存,map()方法有三个输入参数:mode, position, size。返回值MappedByteBuffer是用来处理内存映射文件的字节缓存。 import java.io.RandomAccessFile;import java.ni转载 2017-02-16 08:48:48 · 521 阅读 · 0 评论 -
如何一步步实现在Android平台下运用OpenGl
转自网上http://www.bangchui.org/read.php?tid=7572&page=11、GLSurfaceViewGLSurfaceView是Android应用程序中实现OpenGl画图的重要组成部分。GLSurfaceView中封装了一个Surface。而android平台下关于图像的现实,差不多都是由Surface来实现的。2、Renderer转载 2017-02-15 14:01:30 · 281 阅读 · 0 评论 -
Android Studio 快捷键整理分享
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本C转载 2017-02-15 13:57:30 · 195 阅读 · 0 评论 -
Timer中schedule()的用法
schedule的意思(时间表、进度表)timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000);第一个参数"new MyTask(event.getServletContext())"转载 2017-02-15 11:13:34 · 336 阅读 · 0 评论 -
Picasso:一个强大的图片下载和缓存库
Picasso是一个一个强大的图片下载和缓存库。在你的Android应用程序如果想要显示大量图片,而且视觉效果丰富,高效稳定,需要大量的基础工作。Picasso可以帮你完成这些工作,通常只需要一行代码!Java1Picasso.with(context).load("http:/转载 2017-02-15 08:44:16 · 294 阅读 · 0 评论 -
ImageView.ScaleType设置
mageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:1. 在layout xml中定义android:scaleType="CENTER"2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);接下来转载 2017-02-14 11:06:36 · 328 阅读 · 0 评论 -
Android 获取地理位置的经度和纬度
在Android应用程序中,可以使用LocationManager来获取移动设备所在的地理位置信息。看如下实例:新建android应用程序TestLocation。1、activity_main.xml布局文件[html] view plain copy print?在CODE上查看代码片派生到我的代码片 android:layout_width="fill_parent"转载 2017-02-14 11:08:18 · 554 阅读 · 0 评论 -
android判断EditText输入的数字、中文还是字母方法
String txt = edInput.getText().toString(); Pattern p = Pattern.compile("[0-9]*"); Matcher m = p.matcher(txt); if(m.matches() ){ Toast.makeText(Main.this,"输入的是数字", Toast.LE转载 2017-02-14 11:08:50 · 270 阅读 · 0 评论 -
edittext设置不自动获取焦点
android:focusable="true" android:focusableInTouchMode="true"转载 2017-02-14 11:09:19 · 199 阅读 · 0 评论 -
json数组的变换
客户端需要将List转化为JsonArray和JsonObject的方法:首先,List中的Object的属性需要是public:class Person{ public String name; public String sex; public int age;}下面假设有List personList = new ArrayLi转载 2017-02-14 11:09:57 · 362 阅读 · 0 评论 -
滚动
/** * 解析省市区的XML数据 */ protected void initProvinceDatas() { List provinceList = null; AssetManager asset = getAssets(); try { InputStream inp转载 2017-02-14 11:10:39 · 236 阅读 · 0 评论 -
获取wifi信息
/** * 或者当前连接的wifi信息 * * @return */ private String getConnectWifiSsid() { WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo原创 2017-02-14 11:11:06 · 399 阅读 · 0 评论 -
获取每天的小时数以及星期几
private String getGreetings() { Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); if (hour return "凌晨好!"; } e转载 2017-02-14 11:11:28 · 309 阅读 · 0 评论 -
android获取设备屏幕大小的方法
android获取设备屏幕大小的方法分类:android 门外 (34673) (5)// 通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);System.ou转载 2017-02-14 11:11:50 · 398 阅读 · 0 评论 -
获取日期的那个几天前
//// public int getImage(String createtime) throws Exception {// SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// ParsePosition pos = new ParsePosition(0);转载 2017-02-14 11:12:15 · 207 阅读 · 0 评论 -
日期换算
SimpleDateFormat longdataSDF = new SimpleDateFormat("yyyy-MM-dd"); longDataTV.setText(longdataSDF.format(new Date())); SimpleDateFormat timeSDF = new SimpleDateFormat("HH:mm");转载 2017-02-14 11:12:46 · 314 阅读 · 0 评论 -
文件大小的获取
android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位public class FileSizeUtil {public static final int SIZETYPE_B = 1;//获取文件大小单位为B的double值public static final int SIZETYPE_KB = 2;//获取文件大小单位为KB的double值public sta转载 2017-02-14 11:13:18 · 217 阅读 · 0 评论 -
自动退出程序
//显示身份界面框 private void showIdentity() { try { DialogListAdapter adapter = new DialogListAdapter(MainActivity.this, identityNameList); //dialog参数设置转载 2017-02-14 11:13:47 · 651 阅读 · 0 评论 -
Android AsyncTask 在onPreExecute方法中弹出加载框
AsyncTask定义了三种泛型类型 Params,Progress和Result。Params 启动任务执行的输入参数,比如HTTP请求的URL。Progress 后台任务执行的百分比。Result 后台执行任务最终返回的结果,比如String。使用过AsyncTask 的同学都知道一个异步加载数据最少要重写以下这两个方法:doInBackground(Params…) 后台执行,比较耗时的操作转载 2017-02-14 15:04:51 · 2167 阅读 · 0 评论 -
最简单的单例模式说明
public class AppContext extends Application { private static AppContext instance;@Override public void onCreate() { super.onCreate(); instance = this; //在全文对象新建时.对该对象进行初原创 2017-02-14 16:27:36 · 209 阅读 · 0 评论 -
wifi模块 之 SmartLink
SmartLink是做什么的?如果使用过wifi监控摄像头的人应该都知道,比如小米出品的小蚁智能摄像机 YHS-113,之前恰好买了一个,还挺好用的,100多,也不算贵。它里面就集成了SmartLink,使得首次安装摄像头时,接通电源让摄像头处于连接状态,然后在 APP 中输入 wifi 密码,最后摄像头就连上 wifi 了。当然和蓝牙是没有关系的。 因此,SmartLink是一种智能联网功能转载 2017-02-15 08:14:46 · 2303 阅读 · 0 评论 -
防止activity横竖屏切换时,界面被销毁
为了阻止反复执行onCreate,一般的做法是[html] view plain copy 在CODE上查看代码片派生到我的代码片首先要在配置Activity的时候进行如下的配置: android:configChanges="orientation|keyboardHidden" android:label="@st转载 2017-02-20 11:04:13 · 931 阅读 · 0 评论
分享