android
文章平均质量分 63
一激灵儿
点滴点滴,勤学勤恳,我的编程路!
展开
-
Android获取屏幕参数
获取分辨率:DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 屏幕宽度(像素) int height = me...原创 2020-04-20 14:26:01 · 429 阅读 · 0 评论 -
Android Studio安装APK报错 INSTALL_FAILED_TEST_ONLY终极解决方案
1、检查\app\src\main\AndroidMainfest.xml中是否有testOnly属性为true,如果有去掉或者改为false 2、检查Android Studio和gradle版本是否为alpha版本,换为稳定版本 3、检查是否关闭Instant Run功能,关掉此功能 4、检查是否使用alpha版本的依赖库,换成稳定版本5、如果以上均无法解决,就在gradle.properti...转载 2018-04-10 09:17:05 · 2572 阅读 · 0 评论 -
Android数据存储(数据持久化)
数据存储的几种方式: 1、SharedPreferences共享参数2、File文件的方式3、数据库4、ContentProvide5、网络存储存储目录:SharedPreferences--->/data/data/packageName/shared_prefsFile--->/data/data/packageName/files数据库--->/data/data/pack...原创 2017-06-18 11:16:15 · 267 阅读 · 0 评论 -
HattpURLConnection网络请求
前言: 最近一直想着学习一下比较好的开源网络框架okhttp,想着学习之前还是先总结一下Android原生提供的网络请求。之前一直在使用HttpClient,但是android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类).所以我们今天主要总结HttpURLConnection的使用。HttpURLConnection介绍: HttpUR...转载 2017-05-30 12:44:17 · 315 阅读 · 0 评论 -
Android中service的介绍和使用
一、简介Android中service(服务)运行于后台,没有界面。和其他组件一样,service也运行在主线程中,因此不能用它来做耗时的请求或者动作。可以在服务中开启线程,在线程中做耗时操作。可以启动一个服务service来播放音乐,或者记录地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。二、Service的种类服务一般分为两种:1、本地服务,Local Service用于应用程序...原创 2018-04-27 09:51:00 · 1379 阅读 · 0 评论 -
Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)测试环境: ...转载 2018-06-21 10:37:34 · 312 阅读 · 1 评论 -
Android中关于libs和JniLibs的各种坑
如果是在eclipse中,需要放到libs下对应库的目录。如果是在Android Studio中,则会默认匹配main下的jniLibs目录,如果没有目录需要自己手动创建。并且库的名称也不能随便更改。但是这里会有一个问题,就是如果使用的是AndroidStudio,但是想用libs下的库,还需要手动去指定库的位置:在App下的build.gradle中加入以下配置。android ...原创 2018-10-11 14:38:08 · 10453 阅读 · 0 评论 -
安卓摄像头 data 转bitmap
public static Bitmap getBitMap(byte[] data, Camera camera, boolean mIsFrontalCamera) { int width = camera.getParameters().getPreviewSize().width; int height = camera.getParameters().g...原创 2018-12-12 16:15:42 · 773 阅读 · 0 评论 -
Android App异常退出时重新启动
在我们书写程序时,异常的出现时无处不在的。当程序出现异常时对用户来说肯定是不友好,所以在这里我们需要对我们程序的一个异常进行捕获,在Thread类中有一个UncaughtExceptionHandler接口,官方是这么介绍的:Implemented by objects that want to handle cases where a thread is being terminated b...转载 2018-12-11 10:21:17 · 1187 阅读 · 1 评论 -
JSON原生解析
json字符串为string result = { "status":"Ok", "results":[ { "namecn":"科伦", "titleimg":"http://img.39.net/yy/2013/6/7/181c28df938.jpg" }, {原创 2017-05-30 13:38:51 · 461 阅读 · 0 评论 -
AsyncTask的简单使用
Android的UI操作不是线程安全的,所以一些好事操作要放在子线程中去执行。今天我们来了解下AsyncTask。为什么要使用AsyncTask?1、我们不需要自己创建子线程,AsyncTask内部已经封装好了一个线程池去执行耗时操作。2、不需要自己写相应的方法去更新UI界面3、AsyncTask已经包含了所有子线程和UI线程处理的操作。如何使用AsyncTask1、创建子类继承AsyncTask...原创 2017-05-30 12:48:19 · 320 阅读 · 0 评论 -
判断fragment是否显示
由于在ViewPage中PageAdapter来管理所有的Fragment。在加载一个Fragment的时候,会自动缓存左右几个(默认是一个)页面,此时也会调用到正常的生命周期函数,onCreate,onCrateView,onResume.可是这样就干扰了我们统计页面打开次数。例如:一个ViewPager中存在三个页面的时候,当默认是第一个页面,并且被打开。那么在我们的后台就会收集到用户打开两个原创 2017-05-22 10:12:29 · 498 阅读 · 0 评论 -
android定时器的三种方式
在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable, long)方法三、采用Handler与timer及TimerTask结合的方法下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消息。这只是最主要转载 2016-12-22 16:31:30 · 423 阅读 · 0 评论 -
TextView显示指定的行数并且多出的部分显省略号
大家都知道,如果要让TextView只显示一行,多出部分用省略号代替的话非常容易,只需要为xml文件中的TextView控件添加android:singleLine="true"即可,那么如果我想让它显示多行的时候应该怎么做呢?其实也很简单,只要添加以下两个属性就可以了:android:lines="2"android:ellipsize="end"这样就可以让TextVi原创 2017-01-04 17:14:49 · 632 阅读 · 0 评论 -
Android Fragment 你应该知道的一切
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42628537,本文出自:【张鸿洋的博客】很久以前写过两篇Fragment的介绍,主要就是介绍其功能:Android Fragment 真正的完全解析(上)和Android Fragment 真正的完全解析(下) 有兴趣的可以凑合看下。之前的博客属于怎么使用Frag转载 2017-05-31 09:11:09 · 257 阅读 · 0 评论 -
android返回键的监听
/** * 监听Back键按下事件,方法1: * 注意: * super.onBackPressed()会自动调用finish()方法,关闭 * 当前Activity. * 若要屏蔽Back键盘,注释该行代码即可 */ @Override public void on原创 2017-06-05 13:38:05 · 342 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些转载 2017-06-21 09:05:36 · 237 阅读 · 0 评论 -
缓存获取与清除
package com.yanchuan.yanchuanjiaoyu.util;import android.content.Context;import android.os.Environment;import java.io.File;import java.math.BigDecimal;/** * 缓存获取与清除 */public class DataCleanM原创 2017-06-21 10:33:18 · 260 阅读 · 0 评论 -
监听手机收到短信并自动回复
1、通过广播监听接收到短信androidManifest.xml中权限配置://读取短信权限android:name="android.permission.READ_SMS">android:name="android.permission.RECEIVE_SMS">//回复短信权限android:name="android.permission.SEND_SMS"/>注原创 2017-07-05 13:28:48 · 1394 阅读 · 2 评论 -
android自定义控件(一)
自定义控件原创 2017-09-20 09:14:25 · 322 阅读 · 0 评论 -
android蓝牙开发
蓝牙开发原创 2017-09-20 09:20:28 · 318 阅读 · 0 评论 -
AndroidStudio使用leakcanary教程
帮助你抓取内存泄漏点。具体使用过程:1、在你的module的build.gradle文件里添加依赖如下://LeakCanary: 让内存泄露无所遁形debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'releaseCompile 'com.squareup.leakcanary:leakcanary-and原创 2017-11-13 15:03:20 · 2083 阅读 · 0 评论 -
startActivityForResult
1、在第一个页面(MainActivity.java)中以方法startActivityForResult( )启动第二个页面(TwoActivity.java);view sourceprint?01.private void jumpToActiviy2() {02. 03.Bundle bundle = new Bundle转载 2017-05-24 15:16:54 · 390 阅读 · 0 评论