android
wangning13ji
这个作者很懒,什么都没留下…
展开
-
Android开发TextView实现长按复制文本功能的方法
上网查询Android开发实现长按复制文本功能的方法很多,有什么改写系统长按响应,有用EditView控件替换TextView的方法,还有自定义控件什么的,总之都比较麻烦,而且效果也不好。 其实现在新的Android开发只需要增加一行代码就可以实现这个功能,在布局文件的TextView控件属性中增加这么一句就行:android:textIsSelectable="true"原创 2016-07-27 09:20:25 · 848 阅读 · 0 评论 -
Android应用中OOM问题剖析和解决方案
1.什么是OOM?03-21 21:05:28.771: E/dalvikvm-heap(13316): Out of memory on a 10485776-byte allocation.03-21 21:05:28.779: E/AndroidRuntime(13316): java.lang.OutOfMemoryError这几句的意思是,我们程序申请需要10485776b原创 2016-08-24 11:40:46 · 704 阅读 · 0 评论 -
Android中的ANR异常如何分析又该怎么去避免ANR
ANR是个什么玩意 ANR,是“Application Not Responding”的缩写,即“应用程序无响应”。系统会向用户显示一个对话框,用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。 在Android中,应用程序的响应是由Activity Manager和WindowManager系统服务监视的 。当它监测到A、B、C情况中的一个时,An转载 2016-08-24 11:48:00 · 3327 阅读 · 1 评论 -
较详细的介绍JNI
JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢? 你转载 2016-08-25 19:22:39 · 323 阅读 · 0 评论 -
Android屏幕适配全攻略(最权威的官方适配指导)
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的屏幕适配,你将有所收获!Android屏幕适配出现的原因重要概念屏幕尺寸屏幕分辨率屏幕像素密度dpdipdpisppxmdpihdpixdpi转载 2016-08-25 19:34:11 · 413 阅读 · 0 评论 -
Android实现推送方式解决方案
本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也转载 2016-08-25 20:21:00 · 511 阅读 · 0 评论 -
Android之批量加载图片OOM问题解决方案
一、OOM问题出现的场景和原因一个好的app总少不了精美的图片,所以Android开发中图片的加载总是避免不了的,而在加载图片过程中,如果处理不当则会出现OOM的问题。那么如何彻底解决这个问题呢?本文将具体介绍这方面的知识。首先我们来总结一下,在加载图片过程中出现的OOM的场景无非就这么几种:1、 加载的图片过大2、 一次加载的图片过多3、 以上两原创 2016-08-24 11:42:19 · 1211 阅读 · 0 评论 -
2017校招华为安卓技术面面试题
刚刚拿到了华为的offer,激动之余不忘了跟大家分享一下笔试面试题啦~首先是笔试也就是(机考),这个主要是考算法啦,其实说实话不难,考前刷几道华为OJ系统的算法题稳过,3道算法题600分的题目拿了520分,感觉还良好。第一道挺简单的,不过我给忘记什么题目了,万分抱歉;第二道是矩阵路径可达的问题,其实如果做过这类题目挺简单的,主要用递归实现;第三道是7个和尚7天挑水的矩阵问题,有两种解法,我用了原创 2016-09-19 12:53:25 · 5053 阅读 · 0 评论 -
安卓面试:activity
1、什么是 Activity?四大组件之一,一般的,一个用户交互界面对应一个 activitysetContentView() ,// 要显示的布局button.setOnclickLinstener{}, activity 是 Context 的子类,同时实现了 window.callback 和 keyevent.callback, 可以处理与窗体用户交互的事件.我开发转载 2016-09-19 16:39:26 · 608 阅读 · 0 评论 -
多线程之间及多进程间的通信
基本概念++++++++++++++++++++++++++++++++++++++++++++++++进程和线程的关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。(3)处理机分给线程,即真正在处理机上运行的是线程。(4)线程在执行过程中,需要协作同步。不转载 2016-09-07 00:11:19 · 568 阅读 · 0 评论 -
Kotlin从入门到精通
有空再写~~~蛤蛤蛤原创 2017-05-23 18:07:11 · 2102 阅读 · 3 评论 -
疯狂Kotlin讲义
有空写哦~~~原创 2017-05-23 18:08:18 · 3152 阅读 · 4 评论 -
Kotlin实战
有空写写~~~原创 2017-05-23 18:09:04 · 1228 阅读 · 0 评论 -
深入理解Kotlin
有空写写原创 2017-05-23 18:09:45 · 393 阅读 · 0 评论 -
Kotlin基础入门
有空写原创 2017-05-23 18:10:22 · 356 阅读 · 0 评论 -
安卓轻松实现清理缓存
效果图 layout布局activity_clean_cache.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/原创 2017-05-29 18:28:20 · 566 阅读 · 0 评论 -
利用单一职责原则、接口隔离原则和单例模式对代码进行优化
待优化的代码见上个博客:https://blog.csdn.net/wangning13ji/article/details/85064184本文针对Test4里的MainActivity进行优化。优化前:MainActivity.javapackage com.test4.w00425655.test4;import android.content.Context;impor...原创 2018-12-20 21:55:40 · 662 阅读 · 0 评论 -
利用sharedUserId实现不同APK之间的类加载和函数调用
通过SharedUser id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据.也可以配置成运行成不同的进程,同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样.Test4的AndroidManifest.xml。 android:sharedUserId="com.example"<?xml versi...原创 2018-12-18 14:26:36 · 346 阅读 · 0 评论 -
Android内存优化之OOM
转自胡凯的博客转载 2016-08-24 11:39:08 · 401 阅读 · 0 评论 -
Android数据存储五种方式总结
本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据下面详细讲解这五种方式的特点第一种: 使用SharedP转载 2016-08-23 17:10:14 · 423 阅读 · 0 评论 -
RelativeLayout常用属性介绍
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:la原创 2016-07-27 15:54:06 · 223 阅读 · 0 评论 -
给 Android 初学者的 Gradle 知识普及
1.什么是构建工具? 我们大家都知道 Gradle 是一种构建工具,那么什么是构建工具呢? 网上一大堆的文字解释我觉得很难理解,这里我以咱们 Android 开发来举个例子吧。 我们以前开发都是用 Eclipse ,而 Eclipse 大家都知道是一种 IDE (集成开发环境),最初是用来做 Java 开发的,而 Android原创 2016-07-07 16:17:06 · 373 阅读 · 1 评论 -
Android中Cursor类的概念和用法
使用过 SQLite数据库的童鞋对 Cursor 应该不陌生,加深自己和大家对Android 中使用 Cursor 的理解。关于 Cursor在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情:Cursor 是每行的集合。使用 moveToFirst() 定位第一行。你必须知道每一列的名称。你必须知道每一列的数据类型。Cursor转载 2016-07-19 17:38:22 · 312 阅读 · 0 评论 -
android圆形头像的实现类CircleImageView.java
import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Col原创 2016-07-19 17:03:38 · 348 阅读 · 0 评论 -
android实现底部菜单栏
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/header_bg_color" android:原创 2016-07-19 16:38:13 · 1018 阅读 · 0 评论 -
android实现登录发送短信验证码或者语音验证码以及一个倒计时的内部类
//获取验证码private void requestForGetCode() { String mobile = etPhoneNumber.getText().toString().trim(); MGRequestParams params = new MGRequestParams(); params.put("source", "login"); par原创 2016-07-19 16:02:21 · 1550 阅读 · 0 评论 -
安卓列表选项生成黑线的方法
<View android:layout_width="match_parent" android:layout_height="0.2dp" android:layout_marginLeft="@dimen/padding_15" android:layout_marginRight="@dimen/padding_15" android:backgro原创 2016-07-19 15:50:29 · 465 阅读 · 0 评论 -
android实现点击空白处,软键盘消失事件
/** * 实现点击空白处,软键盘消失事件 */@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移原创 2016-07-19 15:34:24 · 3182 阅读 · 0 评论 -
Android四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。一:了解四大基本组件Activity :应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Int转载 2016-06-08 12:48:24 · 238 阅读 · 0 评论 -
集成第三方推送最佳实践
本文固定连接:https://github.com/tianzhijiexian/Android-Best-Practices一、需求背景Android在国内没有办法利用系统级的推送服务,再加上第三方rom对于原生的各种定制(这里的定制并无褒贬之意)所以国内的开发者就需要选择一些成熟的推送平台做推送服务了。目前的推送平台种类繁多,本文将给出推送平台的具体对比和调研结果,方便后来人进行选择。转载 2016-08-28 22:38:07 · 2361 阅读 · 3 评论 -
【Android 应用开发】Android 开发 之 JNI入门 - NDK从入门到精通
NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub - https://github.com/han1202012/NDKHelloworld.git -- Java传递参数给C语言实例程序 : GitHub - https://github.com/han1202012/NDKParameterPassing.Git --C语言回调Java方法示转载 2016-08-29 10:05:11 · 992 阅读 · 0 评论 -
优化 listview 有哪些方法?
我这里说一下我用 ListView 的一些经验,为了尽量说的全面一些,这里列一些 Tips,具体的代码可以找相关的文章,或者一起交流:首先,虽然大家都知道,还是提一下,利用好 convertView 来重用 View,切忌每次 getView() 都新建。ListView 的核心原理就是重用 View。ListView 中有一个回收器,Item 滑出界面的时候 View 会回收到这里,需要原创 2016-08-29 10:24:06 · 512 阅读 · 0 评论 -
android中JSON的解析
android中网络数据传输是经常被用到的,通常我们使用xml或者json,而json更加轻量,便捷,我们使用的更多。我自己在项目中使用很多,今天就说说android中怎么去解析JSON,帮助自己总结内容,同时帮助别人少走弯路。##JSON语法首先看JSON的语法和结构,这样我们才知道怎么去解析它。JSON语法时JavaScript对象表示语法的子集。JSON的值可以是:转载 2016-08-29 11:01:07 · 427 阅读 · 0 评论 -
android json解析及简单例子
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.orgJSON Vs XML1.JSON和XML的数据可读性基转载 2016-08-29 11:10:18 · 541 阅读 · 0 评论 -
android解析XML总结(SAX、Pull、Dom三种方式)
在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析xml的这三种方式进行一次总结。 今天解析的xml示例(channels.xml)如下:xml version="1.0" encoding="utf转载 2016-08-29 11:12:19 · 458 阅读 · 0 评论 -
Android中的Handler的机制与用法详解
目录结构Android中的Handler的机制与用法详解,什么是Handler,如何传递 Message,传递 Runnable 对象,传递 Callback 对象,Handler 原理是什么?Handler 与 Looper、MessageQueue 的关系,HandlerThread是什么?Android 中更新 UI 的几种方式。1. 了解几个概念很多Androi原创 2016-08-23 11:43:52 · 4975 阅读 · 0 评论 -
点击空白处,软键盘消失
/** * 点击空白处,软键盘消失 */@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) { if (needCloseInputWhenTouchSpace() && ev.getAction() == MotionEvent.ACTION_DOWN) { View v = getCurrentF原创 2016-08-11 14:18:57 · 410 阅读 · 0 评论 -
Linux 下 Android NDK 编译 openssl
1 概述openssl可以编译成ARM下面的二进制代码(动态库或者静态库),方便APP使用,APP在使用的时候,需要使用JNI来进行调用。本文章参考官方文档https://wiki.openssl.org/index.php/Android进行总结。编译步骤:1.下载NDK2.下载openssl和setenv-android.sh3.设置环境变量,配置openssl4....原创 2018-12-25 21:30:39 · 3480 阅读 · 2 评论