![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
整理学习
jia635
这个作者很懒,什么都没留下…
展开
-
Flutter 文件之间引用(路径,方法等不存在)报错但不影响编译运行问题
新项目突然出现如图引用 url 中的变量,编译一次之后就出现引用路径不存在的报错,但是不影响整体编译运行,清缓存重启运行之后还有这个问题,刚开始以为是AS 版本问题,就下载了一个Ide然后安装插件编译还是有这个问题就和其它没有报错文件进行比对,最后发现尽然是注释引起的,如图是支持 //xxx注释的,刚开始以为是中文编码引起的报错,改成英文之后确实没有报错了。后来又把 中文 // 注释形式改成 /***xxx*/ 也没有出现报错,所以解决方案可以通过 英语注释或者/***xxx*/ 形式进...原创 2021-06-01 19:33:28 · 1136 阅读 · 2 评论 -
Flutter TextField限制输入仅数字,字母,以及数字键盘,搜索完成设置
import 'package:flutter/material.dart';import 'package:flutter/services.dart'; TextField( inputFormatters: [ FilteringTextInputFormatter(RegExp("[a-zA-Z]")),//只允许输入字母 ], ), TextField( inputFormatters: [Fi.原创 2021-05-21 18:34:10 · 6169 阅读 · 0 评论 -
Unhandled Exception: MissingPluginException(No implementation found for method xxx on channel xxx
Flutter 与 Native 进行通信可能遇到Unhandled Exception: MissingPluginException(No implementation found for method xxx ,通信渠道的方法找不到有可能如下问题1.new MethodChannel(flutterEngine.getDartExecutor(), channelName)生成 MethodChannel 时Flutter层和Native 层channelName 字符串不一致...原创 2020-12-18 18:36:20 · 10664 阅读 · 3 评论 -
Android 第三方APP直接跳转WhatsApp 和指定联系人(可以非好友)聊天
业务需求中有点击按钮,从我们APP跳转到WhatsApp和某个人聊天,发现前端实现是https://api.whatsapp.com/send?phone=xxxxx 把该链接通过Android系统浏览器打开,如果手机安装WhatsApp会直接打开app并跳转到对应的账号下,说明 WhatsApp有对应的scheme。但是通过系统浏览器并不能调起WhatsApp,可以通过重写 WebViewClient 中的 shouldOverrideUrlLoading(WebView view, Stri原创 2020-10-27 18:42:52 · 13946 阅读 · 3 评论 -
Gson解析toJson特殊字符被转义的问题(如= & ‘’ 等)
Map<String, Object> map = new HashMap<>();map.put("page_path", "page_path");String pageparam = Uri.encode("item_id=415&user_id=105", "-_.!~*'()=&");map.put("page_param", pageparam);Gson gson = new Gson();Logger.e("---onCreate--- ".原创 2020-05-22 10:24:59 · 9831 阅读 · 0 评论 -
java多线程面试题
Java中String类由于其特殊性(不变类),几乎是笔试面试中的必考题,当然有些题目其实没啥意思,不过关键是要通过题目掌握原理性的东西。下面六道题目,如果您全部做对了,且明白其所以然,那么Java中的关于String的笔试面试题应该难不到你了。也许您觉得我说的有点过了,然而彻底明白这些题目,对理解String类还是很有好处的。写出下面各题的打印输出的结果:1public static原创 2014-06-27 00:16:27 · 460 阅读 · 0 评论 -
android中Invalidate和postInvalidate的区别
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中原创 2014-07-18 23:55:13 · 1072 阅读 · 0 评论 -
时间处理工具类&工作日处理类
public class DateUtil { /**日志记录*/ private final static Logger LOGGER = LoggerFactory.getLogger(DateUtil.class); /**一天的秒数*/ public final static long ONE_DAY_SECO转载 2014-06-27 00:35:55 · 698 阅读 · 0 评论 -
ArrayList和LinkedList的几种循环遍历方式及性能对比分析
最近看公司的一个做了四年安卓的老手源码,zh原创 2014-06-30 00:38:21 · 669 阅读 · 0 评论 -
android TextView里边实现图文混配效果
做的游戏攻略中的图文加载原创 2014-07-22 00:39:18 · 1443 阅读 · 0 评论 -
ImageView的属性android:scaleType设置最佳比例图片显示
实现图片轮播,以前的大图片比例会在GuideGallery中自动缩放,后来编辑把图片大小修改了。在大屏不能适应屏幕。试了很多方法终于解决。先说Imageview的属性。可在java代码中实现,也可以在Xml文件中设置。imageView.setScaleType(ImageView.ScaleType.FIT_XY );这里我们重点理解ImageView的属性android:scaleTy原创 2014-07-23 10:49:04 · 7064 阅读 · 0 评论 -
android ImageUtils 图片处理工具类 收集平时用到的代码段
/** * 添加文字到图片,类似水印文字。 * @param gContext * @param gResId * @param gText * @return */ public static Bitmap drawTextToBitmap(Context gContext, int gResId, String转载 2014-07-22 21:44:26 · 884 阅读 · 0 评论 -
获取APK文件的签名信息,反射实现
private String showUninstallAPKSignatures(String apkPath) { String PATH_PackageParser = "android.content.pm.PackageParser"; try { // apk包的文件路径 // 这是一个Package 解释转载 2014-07-25 00:07:34 · 736 阅读 · 0 评论 -
Android 资源目录的相关知识 raw drwable values
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源! res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容)转载 2014-07-08 22:50:17 · 666 阅读 · 0 评论 -
Smali语法:Registers(寄存器)
在dalvik字节码中,寄存器都是32位的,能够支持任何类型。64位类型(Long和Double型)用2个寄存器表示。有两种方式指定一个方法中有多少寄存器是可用的。.registers指令指定了方法中寄存器的总数。.locals指令表明了方法中非参寄存器的数量。方法的传参 当一个方法被调用的时候,方法的参数被置于最后N个寄存器中。如果一个方法有2个参数,5个寄存器(v0-v4),那转载 2014-07-29 15:22:40 · 2255 阅读 · 0 评论 -
修改ListView 分割线Seperator line
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> ListView android:id="转载 2014-07-27 23:22:53 · 1282 阅读 · 0 评论 -
写selector的xml文件时,需注意item的顺序,不带状态的item放在最后,否则selector无效
为按钮写了一个selector,一个正常状态,一个点击的状态,用了两张不同的图片。以求达到更好地用户体验。xml格式都正确,设置到ImageButton的src属性中。但是点击时图片并没有变成预想的那张。 经过查找,原来是在写selector的xml时,item的顺序有个严格的要求:正常状态的item必须放到最后,否则将不产生效果。 至于原因,不是很清楚。可能是And原创 2014-07-11 23:17:53 · 805 阅读 · 0 评论 -
如何更有效地修改Android程序的开发包名
做今天遇到需要修改Android包名的问题,开始试了直接修改包名,会出现一些错误1.layout中直接引用类的地方2.Manifest中对gen定义的地方经测试,总结出一下方法:1.修改Manifest中对应的包名,当保存后提示是否……时,选择否2.修改src下的包名,弹出的对话框四个复选框全部勾选3.gen目录下的R文件直接从以前的项目转载 2014-07-11 12:19:48 · 673 阅读 · 0 评论 -
SlidingPaneLayout的基本使用
其他论坛看到的,为了让更多人看到,所以选择了原创SlidingPaneLayout是V4包中新添加的组件,可以实现两列面板的切换。说先来看看API文档的说明:SlidingPanelLayout为在UI最上层的使用提供了一个水平的,多个面板的布局。左边的面板可以看作是一个内容列表或者是浏览,右边的面板的任务是显示详细的内容。SlidingPaneLayout类也是直接继承于View原创 2014-07-30 23:57:53 · 2402 阅读 · 1 评论 -
Android 壁纸设置代码 详解
做一个游戏图片列表,想着增加设置壁纸功能,就差了一些资料。1 别忘记在ApplicationManifest.xml 中加上权限的设置。 2、设置壁纸的方法总结。壁纸设置方法有三种 第一 通过WallpaperManager方法中的 setBitmap()第二 通过WallpaperManager方法中的 setReso原创 2014-07-15 14:19:05 · 2117 阅读 · 0 评论 -
Java中 set,list,array(集合与数组)、Map相互转换
开发工作中经常会用到一些集合或数组类型的转换,这里总结以下:列表转换数组public static Object[] List2Array(List oList) { Object[] oArray = oList.toArray(new Object[] {}); // TODO 需要在用到的时候另外写方法,不支持泛型的Array.转载 2014-07-14 23:00:18 · 1331 阅读 · 0 评论 -
Android中如何在应用A中启动或安装应用B
看到别人做的游戏攻略,想着自己的游戏攻略也添加新的功能,即Android中如何在应用A中启动或安装应用B,就查了一些资料整理下来.启动或安装相应的应用的方法:Step1:判断是否安装目标应用。只要知道目标应用的安装包名就可以通过判断"/data/data/packagename"是否存在来实现。/** * 判断是否安装目标应用 * @param packageN原创 2014-07-15 23:50:28 · 894 阅读 · 0 评论 -
Drawable和Bitmap转换
一、Bitmap转DrawableBitmap bm=xxx; //xxx根据你的情况获取BitmapDrawable bd=new BitmapDrawable(bm);因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。二、 Drawable转Bitmap转成Bitmap对象后,可以将Drawable对象通过Android的SK库存成一个字节原创 2014-08-22 10:55:51 · 1104 阅读 · 0 评论 -
Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)
Android开发平台中,可通过TelephonyManager 获取本机号码。TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);txtPhoneNumber.setText(phoneMgr.getLine1Number()); //txtPhoneNu原创 2014-08-09 15:10:22 · 1210 阅读 · 0 评论 -
Android获取Manifest中<meta-data>元素的值
读取Manifest中<activity>、<application> 、<service>和<receiver>的<meta-data>原创 2014-08-22 22:52:27 · 1437 阅读 · 0 评论 -
Android中<meta-data>的使用
在AndroidManifest.xml中,元素可以作为子元素,被包含在、 、和元素中,但不同的父元素,在应用时读取的方法也不同。1 :在Activity的应用。 xml代码段: java代码段: ActivityInfo info=this.getPackageManager()原创 2014-08-12 09:45:25 · 772 阅读 · 0 评论 -
android自定义Application全局变量不能类型转换的问题
今天弄了个全局变量AppContext ,但一直出现如下错误,原来继承 Application的得在清单文件声明。java.lang.RuntimeException: Unable to start activity ComponentInfo{com.langteng.shiliao/com.langteng.shiliao.activity.MainActivity}: java.lan原创 2014-08-23 23:59:17 · 1583 阅读 · 1 评论 -
Android中区分系统程序和安装程序
在google上输入以上的关键字+ android,可以搜到的代码List packs = getPackageManager().getInstalledPackages(0);虽然,有些代码号称可以过滤掉系统自身的应用程序,但是只要细看代码就会发现,好像里面的那个布尔变量没有起到什么过滤的作用。 方法一:通过获取的安装包(包括安装的与系统自身的应用程序),对其原创 2014-09-09 22:30:02 · 1336 阅读 · 0 评论 -
WebView的使用总结
1) 添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。2) 在要Activity中生成一个WebView组件:WebView webView = new WebView(this);或者可以在activity的layout文件里添加webv原创 2014-09-08 22:26:54 · 1110 阅读 · 0 评论 -
项目总算完工了
做了三个月,总算做完了一个项目,单独开发,没一个人指导,不会就百度(google被和谐了),学到了很多东西,不仅是技术方面的,还有思想方面的转化和思考方式的改变。感谢那些帮助我的人。欢迎大家下载提出宝贵改进意见:http://os-android.liqucn.com/rj/386553.shtml 以后还要在原来基础上进一步完善,修改。原创 2014-08-12 13:56:50 · 966 阅读 · 2 评论 -
Android 各国语言包字符串缩写
如果开发一个国际版的安卓应用软件,就需要各种语言包了,在新浪博客看到的,分享一下语言缩写:http://www.loc.gov/standards/iso639-2/php/code_list.php国家地区缩写:http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_ele原创 2014-09-13 22:42:43 · 1201 阅读 · 0 评论 -
Android开源项目第四篇:开发及测试工具篇
本文为那些不错的Android开源项目第四篇——开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**。1、Buckfacebook开源的Android编译工具,效率是ant的两倍。主要优点在于:(1) 加快编译速度,通过并行利用多核cpu和跟踪不变资源减少增量编译时间实现(2) 可以在编译系统中生成编译规则而无须另外的系统生成编译规则文转载 2014-09-13 23:35:34 · 714 阅读 · 0 评论 -
时间处理工具类&工作日处理类
时间处理类:转载 2014-09-14 22:44:41 · 711 阅读 · 0 评论 -
android使用C/C++调用SO库
有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用。这样人家反编译你的apk,就知道你侵犯了人家的版权。为了达到混淆的目的,我们可以再写一个so库调用人家的so库,即把人家的so库放到root的某个路径下,用c/c++语言调用这个so库。比如说,我得到一个APK,反编译这个APK看到下面的代码: static {转载 2014-09-29 19:47:28 · 716 阅读 · 0 评论 -
Android 调用已安装市场,进行软件评分的功能实现
开发中要用到的一个功能。调用手机上安装的所有市场,然后对软件进行评价。本来以为一般的软件都会有“去评分”、“亲,给个好评”这样的功能,但是在网上搜了搜竟没有搜到,问了三个群外加5个童鞋,分析log,反编译看源码,终于找到了这个uri,获取他真不容易啊。 Uri uri = Uri.parse("market://details?id="+getPackageName());原创 2014-10-31 23:20:58 · 1221 阅读 · 0 评论 -
String对象中用于搜索和提取子字符串的方法
今天看原来同事写的代码第一次见到String.lastIndexOf()用法,查询分享一下。string.lastIndexOf('.') 表示的就是在字符串中第一个最后一个出现“ . ” 的位置,可以用来查询文件是什么格式的文件。 public static String getFileFormat(String fileName) { if (isEmpty(fileNam原创 2015-02-12 13:58:15 · 4865 阅读 · 0 评论 -
Android图片处理:颜色矩阵和坐标变换矩阵
UI开发过程中,我们经常需要对图片进行处理,常见的如贴图,复杂一些的还有位置变换、旋转、滤镜特效等,下面简单介绍一下关于图片处理的一些基本知识和原理。1 基本概念对于图片的处理,最常使用到的数据结构是Bitmap,它包含了一张图片所有的数据,这些数据数据包括那些内容呢?简单说来就是由点阵和颜色值组成的,所谓点阵就是一个在概念上是Width * Height的矩阵,每一个元素对应着图片的转载 2015-01-26 13:11:47 · 636 阅读 · 0 评论 -
SparseArray<E>来替代HashMap,获取更好性能
今天看到一个SparseArray的类,查下相关资料进行总结。SparseArray指的是稀疏数组(Sparse array),所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。从构造方法我们可以看出,它和一般的List原创 2015-03-02 10:30:07 · 779 阅读 · 0 评论 -
【Android】状态栏通知Notification、NotificationManager详解
在Android系统中,发一个状态栏通知还是很方便的。下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类: NotificationManager 、 Notification。 NotificationManager : 是状态栏通知的管理类,负责发通知、清楚通知等。Notification转载 2015-03-24 10:54:27 · 416 阅读 · 0 评论 -
如何获取SDCard 内存及向内存卡写东西
想着公司以后往广告渠道发展,需要自己建立广告墙,下载的软件就得放到SDcard中,也就不得不考虑内存卡各种状态,剩余大小,先学习下外存储设备内存获取。1、讲述 Environment 类Environment 是一个提供访问环境变量的类。Environment 包含常量: MEDIA_BAD_REMOVAL解释:返回getExternalStorageState() ,表明SD原创 2014-11-30 23:09:13 · 1167 阅读 · 1 评论