Android小知识
文章平均质量分 62
similar718
I don't believe in luck.It's persistence,hard work,and not forgetting your dream.
展开
-
Android 获取已安装的APK相关信息
Android 获取已安装的APK相关信息由于之前获取已安装的APK相关信息去判断当前手机是否已经安装了QQ/微信/微博等应用。如果安装了就将分享相关信息到对应的应用中。但是最近突然之前的代码不能成功获取了,只能获取到当前应用的相关信息。很是奇怪,特此记录。之前的代码获取信息: public static boolean isAPKInstall(Context context, String appPackageName) { PackageManager packageManag原创 2022-05-23 13:40:14 · 845 阅读 · 0 评论 -
Android WebView的canGoBack()出现异常导致net:: ERR_CACHE_MISS
Android canGoBack()原创 2022-05-20 11:56:10 · 816 阅读 · 0 评论 -
Android Okhttp源码解析流程
okhttp源码解析流程 仅供参考目前Android网络开发框架已经离不开okhttp,至少我的所有项目基本上都使用的是okhttp。所以我们需要知其然,更需要知其所以然,今天就开始进行okhttp的源码进行解析。我使用的library的版本是3.12.1版本的implementation 'com.squareup.okhttp3:okhttp:3.12.1'下面是一个正常的使用 OkHttpClient client = new OkHttpClient();原创 2022-04-12 17:48:05 · 3057 阅读 · 0 评论 -
Android dialog显示在界面固定位置
Android dialog显示在界面固定位置dialog界面背景为全透明的情况 设置这个样式就可以让dialog的背景为全透明。 <!-- 显示景区信息 --> <style name="dialog_map_content" parent="@android:style/Theme.Holo.Light.Dialog"> <ite...原创 2019-12-09 10:47:02 · 1536 阅读 · 0 评论 -
Android 高德地图自定义线路规划选择方案之后按照方案进行导航
Android 高德地图自定义线路规划选择方案之后按照方案进行导航因为我这边导航需求的问题,导致我这边不能使用高德地图官方的线路规划和导航。所以我这边线路规划和导航界面都是根据高德地图那边给的api进行自定义的,这篇主要讲我在路线规划方案选择之后按照方案进行导航。线路规划界面大致是这样的情况,所以我这边就不能像之前那样...原创 2019-11-29 18:35:30 · 3327 阅读 · 3 评论 -
Android 高德地图中路线规划绘制界面线路
Android 高德地图中路线规划绘制界面线路下面代码是根据很多的经纬度的点,绘制出直线的线路。比较死板 /** * 绘制景区的路线 */ private void setRouteInfo(List<ScenicSpotGuideBean.ScenicLineListBean.CoordinateListBean> data) { ...原创 2019-11-28 14:57:43 · 4379 阅读 · 3 评论 -
Android 高德地图自定义定位图标的显示
Android 高德地图定位以及自定义定位图标的显示由于高德地图中默认的定位图标是高德地图的logo,我这边想要换一种图标,就有了新的需求。首先先设置定位相关信息下面代码之前确认地图控件已经被初始化。/** * set map info */ private void setUpMapLocationMine() { mAmap.setLocat...原创 2019-11-28 13:41:33 · 5134 阅读 · 0 评论 -
Android 高德地图界面中全览我需要的坐标信息
Android 高德地图界面中全览我需要的坐标信息由于地图界面中添加比较多的人员,我想要看全部人员所在界面的各个位置。这个时候就有了全览功能。表示查看界面所有人员的位置,在一个界面内显示完整。首先获取所有用户的坐标点,包括自己在内 /** * 获取所有点的集合 */ private void setAllLatLng(){ if (mAllLatL...原创 2019-11-28 11:03:15 · 1101 阅读 · 0 评论 -
Android 高德地图 marker点击放大事件,再点击非当前marker之前marker做动画还原成本来大小
高德地图 marker点击放大事件,再点击非当前marker之前marker做动画还原成本来大小由于UI的要求,需要在点击marker为了凸显点击的是当前marker,UI界面上做了放大的处理。 Marker marker = mAmap.addMarker(markerOption); Animation markerAnimation = new ScaleAnimation(1.0f,...原创 2019-11-28 10:47:18 · 1881 阅读 · 0 评论 -
android:imeOptions属性详解以及无效处理
android:imeOptions属性详解以及无效处理软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好。事实证明我们的想法是合理...转载 2018-10-09 09:49:18 · 649 阅读 · 0 评论 -
Execution failed for task ':Lib:processReleaseResource'
最近Google的Android Studio 强制性更新,我项目就莫名的出现了这个问题,之后试了好多方法都没有解决掉,后来将Lib里面gradle进行了更改就ok了。 这个是更改之前的 这个是更改之后的 主要是将gradle里面版本不确定更改为确定的版本就ok了,当然不是光按照我的改就可以了,你也要看看你as里面有哪些版本,如果你更改的版本不存在,那就又有另外的问题咯。...原创 2018-05-31 17:43:56 · 1962 阅读 · 0 评论 -
在命令行窗口获取.jks的MD5值和SHA1的值
1:打开命令行窗口,dos命令定位到.jks文件下。2:输入命令:keytool -v -list -keystore keystore.jks【一定要记得加上 -v 参数,不然只能看到SHA1,没有MD5】【keystore.jks,需要替换为你自己的密钥所在路径和文件名】转载 2018-01-25 11:22:52 · 2563 阅读 · 0 评论 -
Android Studio 去掉状态栏和去掉标题栏
1.仅去掉标题栏在style.xml文件里面将Theme改为 parent="Theme.AppCompat.Light.NoActionBar"2.去掉标题栏和状态栏把androidmanifest.xml里android:theme改成 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"原创 2017-02-28 17:54:26 · 1521 阅读 · 0 评论 -
检查手机上面是否安装存储卡的判断
/** * 检测储存卡是否安装 */ private boolean mopo() {String status = Environment.getExternalStorageState();if (status.equals(Environment.MEDIA_MOUNTED)) {file();return true;} else {原创 2016-07-21 16:12:18 · 1057 阅读 · 0 评论 -
Android小知识——dp转成px和px转成dp
/*** 根据手机的分辨率从 dip 的单位 转成为 px(像素)*/public static int dip2px(Context context, float dpValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dpValue * sc原创 2016-06-08 14:48:24 · 270 阅读 · 0 评论 -
Android小知识——ADB配置的使用方式
首先,在网上下载一个adb的工具包,把工具包放在cmd弹出过后的文件路径下面,直接输入adb就会弹出代码 就可以使用adb命令了详细细节请参照以下网站原创 2016-05-30 12:04:09 · 245 阅读 · 0 评论 -
Android小知识——Vibrator使用示例
使用Vibrator的vibrate()可调节震动时间;cancel()取消震动。 //振动器实例化private Vibrator mVibrator1;mVibrator1=(Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE);//等待100ms后,按数组所给原创 2016-05-30 12:05:32 · 261 阅读 · 0 评论 -
Android小知识——将Log文件放入到SD中去
android中将所有的log添加到一个固定的txt文件里面的代码。。。。。。@SuppressLint("SdCardPath")private static final String logFilePath= "/sdcard/message/_log.txt";并且将所有的Syso+Alt+/换成saveLog,就可以将所有的log放到txt文件里面原创 2016-05-30 12:01:56 · 300 阅读 · 0 评论 -
Android小知识——关于Android内存、性能优化的一些细节
1、使用优化过的数据容器。 在Android framework下,建议使用优化过的数据容器比如:SparseArray,SparseBooleanArray,LongSparseArray。通用的HashMap实现的内存使用率非常的低,因为他需要为每一个mapping创建一个分离的entry object。另外,SparseArray类避免了系统对有些key的自动装箱,因而带转载 2016-05-30 11:43:42 · 270 阅读 · 0 评论 -
Android小知识——动画的旋转
首先在anim的文件夹里面写好你需要的xml文件: http://schemas.android.com/apk/res/android"> android:fromDegrees="359" //表示开始的角度 android:toDegrees="0" //表示结束的角度 android:duration原创 2016-05-30 11:44:58 · 240 阅读 · 0 评论 -
Android小知识——手机屏幕的适配
import android.content.Context;publicclassDensityUtil{/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */publicstaticint dip2px(Context context,float dpValue){finalfloat scale = context.getResour转载 2016-05-30 11:45:58 · 387 阅读 · 0 评论 -
android小知识——Android混淆打包及混淆后运行错误
Android引用第三方jar包混淆时打包报错(can't find referenced class) 项目打包的时候,总是失败,提示Proguard returned with error code 1. See console。然后看控制台,报出好多can't find referenced class......场景:项目中引用了第三方的jar包转载 2016-05-30 11:50:11 · 3184 阅读 · 2 评论 -
Android小知识——关于引入第三方jar包引发的java.lang.NoClassDefFoun
在我们引入第三方jar包的时候,有时候编译不报错,但运行会报java.lang.NoClassDefFoundError;针对这个问题,以下两种方案可以解决问题,但建议选取第二种,因为第一种会很大程度上的增大包大小:第一种方案:1、将需要的第三方包拷贝进libs 文件夹。2、将引用的第三方包,添加进工作的build path -->工程上右键 -->Prop转载 2016-05-30 11:51:04 · 9745 阅读 · 0 评论 -
Android小知识——按钮点击的变化
以下是写在Drawable里面的btn_pre.xml文件 以下是调用的方法 android:id="@+id/pre" android:layout_width="wrap_content"原创 2016-05-30 11:51:55 · 424 阅读 · 0 评论 -
android小知识——时间与时间戳之间的转化
时间戳就是如1377216000000 这种格式我们在mysql数据库中会经常用到把时间转换成时间戳或把时间戳转换成日期格式了,下面我来介绍安卓中时间戳操作转换方法。 一、原理 时间戳的原理是把时间格式转为十进制格式,这样就方便时间的计算。好~ 直接进入主题。(下面封装了一个类,有需要的同学可以参考或是直接Copy 就可以用了。) 如: 2013年08月23日 转化后是 1377转载 2016-05-30 11:52:43 · 762 阅读 · 0 评论 -
android小知识——对图片的压缩方式
一.图片的存在形式1.文件形式(即以二进制形式存在于硬盘上)2.流的形式(即以二进制形式存在于内存中)3.Bitmap形式这三种形式的区别: 文件形式和流的形式对图片体积大小并没有影响,也就是说,如果你手机SD卡上的如果是100K,那么通过流的形式读到内存中,也一定是占100K的内存,注意是流的形式,不是Bitmap的形式,当图片以Bitmap的形式存在时,其占用的内存会瞬转载 2016-05-30 11:53:42 · 200 阅读 · 0 评论 -
Android小知识——横向scrollView是否滑到最右边
HorizontalScrollView怎么判断它是否滑动到最右边然后箭头消失:对HorizontalScrollView设置触动的监听事件,代码如下:hor = (HorizontalScrollView) this.findViewById(R.id.hor);hor.setOnTouchListener(new OnTouchListener() {原创 2016-05-30 11:54:30 · 2188 阅读 · 0 评论 -
Android小知识——添加多个View
使用HorizontalScrollView里面含有LinearLayout向里面添加多个ViewXML文件: android:id="@+id/hor" android:layout_width="fill_parent" android:layout_height="50dp" androi原创 2016-05-30 11:55:28 · 641 阅读 · 0 评论 -
Android小知识——一个界面有多个listView
首先,你有多少个listview,如果样式不一样就要写不一样的item,在Adapter里面定义一个itemtype类型,给每一个listview都设置一个type,当要调用哪一个item的时候,直接用type判断就可以了。以下就是Adapter里面的代码,仅供参考:import java.util.Calendar;import java.util.List;原创 2016-05-30 11:56:33 · 672 阅读 · 0 评论 -
Android小知识——listView的分割线高度和颜色
如果是自己手写的一个listview是不会有分割线的,需要在listview里面加上以下代码: android:divider="#eee" android:dividerHeight="1dp"第一个表示的是分割线的颜色,第二个是分割线的高度。原创 2016-05-30 11:57:31 · 674 阅读 · 0 评论 -
Android小知识——Adapter的使用
1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:Android中所有的Adapter一览: 由图可以看到在Android转载 2016-05-30 11:58:22 · 362 阅读 · 0 评论 -
Android小知识——adb出现ADB server didn't ACK的解决方法
方法一:(1)查看任务管理器,关闭所有adb.exe,或者运行->cmd,在命令窗口输入adb kill-server(2)重启eclipse即可方法二, :如果方法一不行,就查看下自己电脑是否启动了如:91手机助手,360手机 豌豆荚等先把他关闭,重新连接试试,再不行就卸载这些软件应该可以解决。因为这些软件可能占用了android手机跟eclipse连接启动a转载 2016-05-30 11:59:22 · 283 阅读 · 0 评论 -
Android小知识——从SD卡中向APP中读取txt文件的时候出现乱码的问题
解决:将解析出来的字符串进行编码的处理private String getShareMessage(String filePath) {String content = "";try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw/* 读入TXT文件 */File messageFile = new File(fi原创 2016-05-30 12:00:22 · 526 阅读 · 0 评论 -
Android小知识——Vibrator使用示例
使用Vibrator的vibrate()可调节震动时间;cancel()取消震动。 //振动器实例化private Vibrator mVibrator1;mVibrator1=(Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE);//等待100ms后,按数组所给原创 2016-05-30 11:40:11 · 342 阅读 · 0 评论