android
勤劳的小疯子
这个作者很懒,什么都没留下…
展开
-
Android Studio 统计代码全部行数插件Statistic
下载地址Statistic - IntelliJ IDEs Plugin | Marketplace原创 2022-02-22 11:05:11 · 1514 阅读 · 0 评论 -
NetworkSecurityConfig放开http请求
前言:由于Android P系统的设备 ,限制了非加密的文明流量的http(https没事)网络请求,导致该应用无法进行http协议的网络请求。解决方案在res目录下创建xml目录,然后随便创建一个.xml文件<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true" /></ne原创 2022-02-17 15:05:37 · 4101 阅读 · 0 评论 -
context 获取多个sharepreferences
循环获取多个application的SharedPreferences for(int i = arrPackage.size() - 1;i > -1;i--){ String pname = arrPackage.get(i); try { otherAppsContext = context.createPackageContext(PREFS_NAME, Context.原创 2016-09-09 15:07:57 · 485 阅读 · 0 评论 -
Installation error: INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID
Installation error: INSTALL_PARSE_FAILED_BAD_SHARED_USER_IDPlease check logcat output for more details.Launch canceled!android:sharedUserId="@string/shareID"pwc_shared1、If you remove原创 2016-09-06 14:31:46 · 1652 阅读 · 0 评论 -
google经纬度转地址
1、Android MapView的Geocoder类,国内运行报错Geocoder geocoder=new Geocoder(this, Locale.getDefault()); try { List addresses=geocoder.getFromLocation(latitude, longitu原创 2016-07-15 16:17:24 · 1640 阅读 · 0 评论 -
sqlite数据库多条记录操作效率问题
sqlite数据库更新500条数据花了43秒,汗一个public void addIndexs(List newIndexs) { if (newIndexs == null || newIndexs.size() == 0) return; SQLiteDatabase database = SQLiteDatabase.openDatabase(dbPath, PWD, null原创 2016-07-26 17:47:49 · 2297 阅读 · 0 评论 -
Android 设备上装两个相同的 App
在eclipse IDE中:项目右键>Android Tools>Rename Application Packageprivate String getAppInfo() { try { String pkName = this.getPackageName(); String versionName = this.getPackageManager().getPack原创 2016-05-19 14:48:11 · 2496 阅读 · 0 评论 -
android 中如何限制 EditText 最大输入字符数
android 中如何限制 EditText 最大输入字符数1、在 xml 文件中设置文本编辑框属性作字符数限制如:android:maxLength="10" 即限制最大输入字符个数为10但是这种方法有的时候并不适用,比如你在代码中为空间又添加了一个InputFilter,这个filter的作用可能是对你输入的字符进行一些格式上的限制,那么这个filter就会使你在布局文件中定义原创 2016-05-18 16:18:57 · 1443 阅读 · 0 评论 -
RequestCode and ResultCode
startActivityForResult(Intent intent, Int requestCode)If requestCode >= 0, this code will be returned in onActivityResult() when the activity exits. If requestCode startActivityForResult原创 2015-07-17 14:29:09 · 1804 阅读 · 0 评论 -
Bitmap.Config常量
Bitmap.Config有以下几个常量:1234public static final Bitmap.Config ALPHA_8public static final Bitmap.Config ARGB_4444 public static final Bitmap.Config ARGB_8888public static fi原创 2015-02-27 10:47:47 · 511 阅读 · 0 评论 -
shareUserId介绍
shareUserId介绍:Android给每个APK进程分配一个单独的空间,manifest中的userid就是对应一个分配的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。通常,不同的APK会具有不同的userId,因此运行时属于不同的进程中,而不同进程中的资源是不共享转载 2014-12-18 15:41:45 · 1712 阅读 · 0 评论 -
如何实现多个APK间共享一个进程
默认情况下,同一个应用程序中的所有组件运行在同一个进程中,而且绝大多数的应用程序也都是这样的。但是,如果我们想要控制让某个特定的组件属于某个进程,我们可以在manifest文件中进行配置。 在每种组件元素(activity、service、receiver、provider)的manifest条目中,都支持一个“android:process”的属性,通过这个属性,我们可以指定某个组件运行的转载 2014-12-18 15:33:11 · 4813 阅读 · 0 评论 -
Android通过共享用户ID(shareUserId)来实现多个Activity进程共享
通过共享用户ID来实现多个应用程序使用同一个进程,这样也能使这些应用程序之间共享内存。1. 同一Apk中的同一包中的多个Activity调用时进程状况验证[1]创建Project: project name: FirstProjectpackage : com.demo默认Activity : MainActivity[2]添加一个新的Activity:转载 2014-12-18 14:00:34 · 1069 阅读 · 0 评论 -
Android数据的存储方式(2)ContentProvider
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为: 1. 在当前应用程序中定义一个ContentProvider。 2. 在当前应用程序的AndroidMani转载 2014-12-18 15:59:47 · 415 阅读 · 0 评论 -
Android数据的存储方式(1)SharedPreferences
我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在window下通常我们会采用ini文件进行保存.如果是J2EE下面,我们会采用properties属性文件或者xml进行保存.在我们的Android应用中又适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPrefer翻译 2014-12-18 15:53:33 · 596 阅读 · 0 评论 -
Android中UID机制和共享进程
我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。我们在同一个application内部,可以随意的startActivity fro转载 2014-12-18 14:35:35 · 575 阅读 · 0 评论 -
android 为一个apk设置多个ICON图标和执行入口
在Android开发中,一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限、SDk版Activity、Service信息等。一般而言,这个文件中会有且仅有一个application节点,这个节点表示这是一个应用程序,不管它下面还有多少子节点如Activity、Service等等。形象的说,就是这个项目生成的apk安装到Android设备后,应用程序转载 2014-12-18 14:20:59 · 1261 阅读 · 0 评论 -
两个application 互相访问数据 (非shareUserId)
AsharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);A设置模式为READABLE AND WRITEABLE,这样其它的app才可以访问这个sharedPreferencesBsharedPr原创 2016-09-09 15:34:30 · 327 阅读 · 0 评论 -
共享进程id,sharedpreferences 共享资源
让两个程序贡献资源的实现方式:共享进程id,android:sharedUserId="com.shared"SharedPreferences getSharedPreferences (String name, int mode)四种 SharedPreferences获取 的模式Context.MODE_PRIVATE = 0 Context.MODE_WORLD_原创 2016-09-14 18:13:02 · 709 阅读 · 0 评论 -
Android targetSdkVersion 原理
compileSdkVersion、minSdkVersion 以及 targetSdkVersion 的含义翻译 2016-11-11 11:47:48 · 12079 阅读 · 4 评论 -
ExpandableListView简介
设置事件监听去除分割线android:divider="@null"expandableListView = (ExpandableListView) findViewById(R.id.expandable_list); //remove group icon expandableListView.setGroupIndicator(null); //group click ex...原创 2018-02-09 15:03:43 · 226 阅读 · 0 评论 -
手机APP测试
Android App兼容性测试是一个比较重要的App评价内容,实际上兼容性测试不仅仅和测试人员相关,在开发阶段就应当着重考虑,因为兼容性问题是除了实现App本身要求的功能后,必须要关注、而且至关重要的一个点。因此,App兼容性是否良好,首先要求App开发人员在开发阶段进行保障,有经验的Android工程师能够在开发过程中保证60%以上用户机型的兼容与适配,经验丰富的工程师几乎能够转载 2017-10-31 10:06:43 · 1304 阅读 · 0 评论 -
Google为什么要限制GMS
从13年底到现在,Google在Android上面一系列无声的改变引起了人们的注意。 首先是13年9月末,Google将Google Services(也就是GMS)从安卓开发者官方网站的API Guides中提取出来,单独列为一项,并在新Google Services介绍中写道:Google Services不再从属于Android平台。 然后,14年1月,有媒体流言Goog翻译 2017-07-28 14:27:28 · 3345 阅读 · 1 评论 -
Android屏幕适配
Android屏幕适配出现的原因在我们学习如何进行屏幕适配之前,我们需要先了解下为什么Android需要进行屏幕适配。由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子。但是这种“碎片化”到底到达什么程度呢?在2012年,OpenSignalMaps(以下简称OSM)发布了第一份Android转载 2017-06-07 11:22:19 · 477 阅读 · 0 评论 -
Android 6.0 (API 23) 动态授权管理
在android 6.0 以后的系统需要用户在使用的过程中进行动态的授权,比如请求访问使用照相设备-->android:name="android.permission.CAMERA" />如果没有这么做那你可能会遇到一个异常java.lang.SecurityException: Permission Denial: starting Intent { act=原创 2017-04-26 17:27:59 · 1103 阅读 · 0 评论 -
ProgressBar 深入分析
前言ProgressBar进度条,当我们在做一些耗时操作的时候(例如下载文件),可以使用ProgressBar给用户提供一个进度提示,告诉用户当前的进度。ProgressBar提供了两种进度显示模式,分别是具有进度值的【精确模式】和不具有进度值的【模糊模式】我们先来看看几个示意图:标准的ProgressBar精确模式模糊模式(圆形)模糊模式(转载 2017-04-24 14:40:40 · 611 阅读 · 0 评论 -
各个屏幕的logo尺寸要求
Android Icon Size and Location for AppsDENSITYSIZELOCATIONRATIOSCREENMARGINXXXHDPI192×192drawable-xxxhdpi4640 DPI12 to 16 pixelsXXHDPI翻译 2017-03-06 11:32:49 · 2479 阅读 · 0 评论 -
Android开发-API指南-<uses-feature>(2)
1.uses-feature 作用: 定义一个该app会用到的硬件或者软件功能。(android 系统提供的可以选择的功能列表参考:FeaturesReference)。标签的目的是用来描述该app所依赖的硬件和软件的功能有哪些,并不负责向系统去请求权限,比如说,app用到了相机的功能,用户可以在uses-feature 中定义一个照相机的功能,但是这个时候app并没有去请求系统赋予该转载 2016-12-01 17:25:06 · 347 阅读 · 0 评论 -
Android开发-API指南-<uses-feature>(1)
Android开发-API指南-英文原文:http://developer.android.com/guide/topics/manifest/uses-feature-element.html语法:uses-feature android:name="string" android:required=["true" | "false转载 2016-12-01 17:21:57 · 1644 阅读 · 0 评论 -
判断当前网络是否可用
实现步骤:1、获取ConnectivityManager对象Context context = activity.getApplicationContext();// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemSer翻译 2016-11-15 16:36:22 · 474 阅读 · 0 评论 -
Android二维码扫描开发------zxing导出jar包
To get started, please visit: https://github.com/zxing/zxing/wiki/Getting-Started-DevelopingZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemen原创 2016-11-30 18:00:11 · 5169 阅读 · 0 评论 -
Android app应用多语言切换功能实现
最近在做一个多语言切换的功能,类似于微信的语言切换,搜了下资料基本上都是以下这种: 1. 实现的效果和微信类似,在设置界面打开切换语言的界面,选择语言后重启 HomeActivity,语言切换完成,下次重新打开 App ,也是用户设置的语言。2. 实现步骤1. 添加多语言文件在不同的 value 文件夹下(例如 value 、value-en转载 2016-11-29 16:24:32 · 1638 阅读 · 0 评论 -
RecyclerView导入依赖包
1. eclipse 上的导入:如下进入Android SDK的如下路径,\android-sdk\extras\android\m2repository\com\android\support\recyclerview-v7\找到和自己当前android api版本相同的目录,这里以21.0.0为例:进入21.0.0命名的目录,找到recyclerview-v7-转载 2016-11-29 16:07:35 · 12995 阅读 · 0 评论 -
Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
准确的说让Edittext只能输入数字有方法两种,都是通过xml属性设置方法一:[html] view plain copyEditText android:id="@+id/u_account" android:layout_width="0dp"转载 2016-11-29 15:36:01 · 5304 阅读 · 0 评论 -
Android TextView 添加下划线的几种方式
Android TextView 添加下划线的几种方式总结起来大概有5种做法: 1. 将要处理的文字写到一个资源文件,如string.xml(使用html用法格式化) 2. 当文字中出现URL、E-mail、电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如果是所有的类型都出来就是android:autoLink=转载 2016-11-29 15:34:11 · 15537 阅读 · 1 评论 -
Android: remove appcompat_v7 and create library project
ADT22.6.0版之后,创建项目时,会出现appcompat_v7的内容。appcompat_v7是Google的一个兼容包,就是一个支持库,能让2.1以上全使用4.0版本的界面.解决:创建项目时,Minimum Required SDK这一项选择4.0版本以上.注:Minimum Required SDK: 最低的SDK版本号.Target SDK: 最适合的S原创 2014-12-02 14:55:48 · 889 阅读 · 0 评论 -
Ant build编译错误 Cannot run program "javadoc.exe"
错误:Javadoc failed: java.io.IOException: Cannot run program "javadoc.exe": CreateProcess error=2, ????????? 总结:JRE的location需要为JDK路径。转载 2014-09-12 15:29:46 · 2477 阅读 · 0 评论 -
Android targetSdkVersion 17 @JavascriptInterface
targetSdkVersion 是设置希望的SDK版本,如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,他会告诉Android平台:此程序在此版本已经经过充分测,没有问题。不必为此程序开启兼容性检查判断的工作了。也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。 但是,这个设置仅仅是一个声明、一个通知,不会有太实原创 2014-02-20 11:47:39 · 22898 阅读 · 3 评论 -
Android 如何监听返回键
Android 如何监听返回键点击事件,并创建一个退出对话框,防止自己写的应用程序不小心点击退出键而直接退出。自己记录下这个简单的demo,备用。注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉。源码如下:[html] view plaincopypublic class BackKey转载 2014-02-19 10:00:28 · 1139 阅读 · 0 评论 -
android 打开PDF
Uri path = Uri.fromFile(file); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(path, "application/pdf"); i转载 2014-02-19 09:35:13 · 554 阅读 · 0 评论