
Andriod
文章平均质量分 82
rorntuck7
这个作者很懒,什么都没留下…
展开
-
Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法
今天使用第三方的so库时候,调用JNI方法时出现了错误。报错如下所示:03-08 10:29:36.989 27896-27896/? E/art: No implementation found for void com.lee.testso.jni.MCHKeyTools.natInit() (tried Java_com_lee_testso_jni_MCHKeyTools_natInit ...原创 2018-03-08 10:37:32 · 6960 阅读 · 6 评论 -
Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了。但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了。因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画所无法实现的功能。转载 2017-01-07 17:07:42 · 373 阅读 · 0 评论 -
Android属性动画完全解析 (ValueAnimator,ObjectAnimator)(上)
Android 属性动画完全解析,初识属性动画的基本用法:在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来转载 2017-01-07 17:01:06 · 594 阅读 · 0 评论 -
andriod 中.9.png图片 原理
9png图片一般用在需要拉伸的地方,比如聊天程序的对话框,字数不同,对话框的大小也不同。普通位图拉伸后有多难看参考当年windows 95桌面背景拉伸效果。所以就有了9png,之所以叫9是因为图片被分割为9个部分。你要在四周画至少四条线(点),他们功能不一样。右边和下边:决定了你中间content区域的大小,比如对话框中的文字区域的大小。(注意黑色的线条,决转载 2016-12-30 14:19:59 · 568 阅读 · 0 评论 -
Android动画效果(补间动画Tween与 帧动画Frame)
Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation。下面依次介绍一下各个动画。1. 补间动画(Tween)Tween动画,通过对View的内容进行一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。动画效果的定义可以采用XM原创 2017-01-05 12:20:57 · 510 阅读 · 0 评论 -
Android资源文件res的使用详解(strings,layout,drawable,arrays等)
本文介绍在Android开发中关于资源文件的存储操作。对于Android资源也是非常重要的,主要包括文本字符串(strings)、颜色(colors)、数组(arrays)、动画(anim)、布局(layout)、图像和图标(drawable)、音频视频(media)和其他应用程序使用的组件。 在Android开发中,资源文件是我们使用频率最高的,无论是string,drawa转载 2017-01-03 10:16:21 · 1461 阅读 · 0 评论 -
Andriod 四大组件之Broadcast Receiver
一、广播的功能和特征广播的生命周期很短,经过调用对象-->实现onReceive-->结束,整个过程就结束了。从实现的复杂度和代码量来看,广播无疑是最迷你的Android 组件,实现往往只需几行代码。广播对象被构造出来后通常只执行BroadcastReceiver.onReceive方法,便结束了其生命周期。所以有的时候我们可以把它当做函数看也未必不可。Android中的四大组件是 Act转载 2016-11-27 11:56:57 · 406 阅读 · 0 评论 -
Andriod Intent 详解
Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要。一、什么是Intent1、Intent的概念:Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。Int转载 2016-11-21 11:34:53 · 456 阅读 · 0 评论 -
Android中ContentProvider和Uri详解
一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORLD_转载 2016-11-24 17:52:05 · 1190 阅读 · 0 评论 -
利用 Android异步任务AsyncTask 实现ListView 图文混排
1.布局文件 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"原创 2015-12-02 14:52:58 · 1183 阅读 · 0 评论 -
Android 利用异步任务AsyncTask发送post请求获取json数据
首先是AysncTask类:/** * Created by kfbmac3 on 16/7/8. */ /* AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法。注意继承时需要设定三个泛型Params, Progress和Result的类型,如AsyncTask: Params是指调用execut转载 2016-12-06 09:52:32 · 761 阅读 · 0 评论 -
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
Interpolator的用法Interpolator这个东西很难进行翻译,直译过来的话是补间器的意思,它的主要作用是可以控制动画的变化速率,比如去实现一种非线性运动的动画效果。那么什么叫做非线性运动的动画效果呢?就是说动画改变的速率不是一成不变的,像加速运动以及减速运动都属于非线性运动。不过Interpolator并不是属性动画中新增的技术,实际上从Android 1.0版本开始转载 2017-01-16 11:26:53 · 1924 阅读 · 0 评论 -
andriod studio 中自定义view
下自定义View的步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw我把3用[]标出了,所以说3不一定是必须的,当然了大部分情况下还是需要重写的。1、自定义View的属性,首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性和声明我们的整个原创 2017-01-19 10:11:13 · 555 阅读 · 0 评论 -
andriod自定义View绘制形, 圆形, 三角形,...
我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆形,三角形,多边形等…. 1.矩形package com.lgl.view.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphi转载 2017-12-18 15:10:46 · 1656 阅读 · 0 评论 -
Android:WebView与Javascript交互(相互调用参数、传值)
Android中可以使用WebView加载网页,同时Android端的Java代码可以与网页上的JavaScript代码之间相互调用。Activity代码: //在js中调用本地java方法 webView.addJavascriptInterface(new JsInterface(this), "AndroidWebView"); //添加客户端支持 webView.转载 2016-12-05 15:59:50 · 20557 阅读 · 3 评论 -
弄明白Android 接口回调机制
一、建模我理解的接口回调就是,我这个类实现了一个接口里的方法doSomething,然后注册到你这里,然后我就去做别的事情去了,你在某个触发的时机回头来调用我doSomething的方法。好比,我给你打电话问某个难题,你电话里想不出来,于是说等想到了再回我电话。于是接口回调机制比喻模型如下第一步:vcD4KPHA+ytfPyKOsxOPO0rXD1Ly2qKOs转载 2017-11-10 16:16:00 · 272 阅读 · 0 评论 -
AccessibilityService实现微信抢红包插件
在你的手机更多设置或者高级设置中,我们会发现有个无障碍的功能,很多人不知道这个功能具体是干嘛的,其实这个功能是为了增强用户界面以帮助残障人士,或者可能暂时无法与设备充分交互的人们它的具体实现是通过AccessibilityService服务运行在后台中,通过AccessibilityEvent接收指定事件的回调。这样的事件表示用户在界面中的一些状态转换,例如:焦点改变了,一个按钮被转载 2017-06-07 14:35:33 · 626 阅读 · 0 评论 -
Android Design Support Library 使用详解三(NavigationView)
Android Design Support Library 给开发者带来了一些重要的 Material Design 组件,并且向下兼容到 Android 2.1, Navigation View 就是其中之一,可用于方便地创建导航抽屉。实现步骤如下:布局文件中加入以下代码: <android.support.v4.widget.DrawerLayout原创 2017-03-10 16:57:23 · 444 阅读 · 0 评论 -
Android Design Support Library 使用详解二(TextInputLayout)
TextInputLayout作为一个父容器控件,包装了新的EditText。通常,单独的EditText会在用户输入第一个字母之后隐藏hint提示信息,但是现在你可以使用TextInputLayout 来将EditText封装起来,提示信息会变成一个显示在EditText之上的floating label,这样用户就始终知道他们现在输入的是什么。同时,如果给EditText增加监听,还可以给它增原创 2017-03-08 17:27:00 · 295 阅读 · 0 评论 -
Android Design Support Library 使用详解一(Snackbar)
Snackbar提供了关于操作的轻量级的反馈。它可以从屏幕底部展示一个简短的消息,与Toast相似,但是它更灵活和功能更加强大。 当它显示一段时间后或者用户与屏幕交互时,它会自动消失; 可以包含一个动作action; Snackbar出现在屏幕所有其他元素之上,同一时间内只有一个Snackbar显示。我们只需要在AS中添加引用即可:compile 'com.android.原创 2017-03-08 12:18:55 · 475 阅读 · 0 评论 -
andriod自定义view 小案例(带进度的圆形进度条)
还是我们自定View的那几个步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw1、自定义属性: 2、在View的构造方法中获得我们自定义的属性原创 2017-01-21 12:21:23 · 284 阅读 · 0 评论 -
Android ViewDragHelper完全解析 自定义ViewGroup神器
一、概述在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多手指的处理、加速度检测等等。 好在官方在v4的支持包中提供了ViewDragHelper这样一个类来帮助我们方便的编写自定义ViewGroup。转载 2017-02-10 17:03:37 · 271 阅读 · 0 评论 -
Android利用canvas画各种图形
在Android中的绘图应该继承View组件,并重写它的onDraw(Canvas canvas)方法,Canvas代表了“依附”于指定View的画布,它提供了如下方法绘制各种图形:Canvas还提供了如下方法进行变换:在Canvas提供的绘制方法中用到了一个API:Paint,Paint 代表了Canvas上的画笔,主要用于绘制风格,包括画笔颜色、画笔笔触粗细原创 2017-01-20 11:01:48 · 693 阅读 · 0 评论 -
Android AES加密 解密
package com.example.administrator.myapplication;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.Key;import java.security.NoSuchAlgorithmEx转载 2016-12-03 16:33:48 · 475 阅读 · 0 评论 -
Android Dialog详解
Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。package com.example.administrator.myapplication;import android.app.AlertDialog;import android.app.Dialog;import android.content.Dia原创 2016-11-17 11:53:05 · 434 阅读 · 0 评论 -
andriod 内存数据读取 写入操作(openFileInput,openFileOutput)
openFileOutput和openFileInput获取手机内存中的文件而不是SD卡中的。 openFileInput(Stringname):直接得到/data/data/当前app包名/files/name文件的输入流 openFileOutput(Stringname,intmode):直接得到/data/data/当前app包名/files/name文件的输出流,mode为原创 2016-12-03 11:22:07 · 1229 阅读 · 0 评论 -
android onTouchEvent 左右手势滑动事件处理
public abstract class BaseSetupActivity extends Activity{ private GestureDetector gestureDetector;protected SharedPreferences sp;@Overrideprotected void onCreate(Bundle savedInstanceStat原创 2015-08-16 21:43:58 · 1237 阅读 · 0 评论 -
andriod 异步加载网络图片(LruCache缓存网络图片)
LruCache以键值对的形式,初始化时,需要设置缓存的大小K,超过这个大小的数据将会被清除。注意:清除的数据,是那些被先加入的数据。LruCache内部的数据结构是LinkedHashMap存储的。这样,LruCache就达到了缓存最近put的K个数据。int cacheSize = 4 * 1024 * 1024; // 4MiB LruCache bitmapCache原创 2015-12-04 14:43:33 · 415 阅读 · 0 评论 -
andriod 解析xml 之 PULL解析器
PULL解析器:PULL解析器的运行方式和SAX类似,都是基于事件的模式。不同的是,在PULL解析过程中,我们需要自己获取产生的事件然后做相应的操作,而不像SAX那样由处理器触发一种事件的方法,执行我们的代码。PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用PULL解析器。原创 2015-05-02 09:45:24 · 420 阅读 · 0 评论 -
andriod 中的 GET ,POST 请求方式
一、HttpClinet方式1、HTTP GET 示例:public class TestHttpGetMethod{ public void get(){ BufferedReader in = null; try{ HttpClient client = new DefaultHttpClient();转载 2015-05-02 09:49:54 · 508 阅读 · 0 评论 -
自定义可适应ScrollView的ListView
自定义一个类继承自ListView,通过重写其onMeasure方法,达到对ScrollView适配的效果。mport android.content.Context;import android.util.AttributeSet;import android.widget.ListView;public class ListViewForScrollView extends List原创 2016-01-01 13:38:37 · 475 阅读 · 0 评论 -
Android Fragment 真正的完全解析(上)
本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务;以及Fragment的一些特殊用途,例如:没有布局的Fragment有何用处?Fragment如何与Activity交互?Fragment如何创建对话框?Fragment如何与ActionBar集成等等。1、Fra转载 2015-12-09 17:06:29 · 316 阅读 · 0 评论 -
android之存储篇_SQLite数据库_让你彻底学会SQLite的使用
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。 另外, SQLite转载 2016-03-07 14:38:50 · 394 阅读 · 0 评论 -
Andriod 常用控件
今天将介绍android系统为我们提供的常用控件中的TextView,Button,EditText,RadioButton,CheckBox,ToggleButton,RatingButton七个控件的声明和事件响应。二、正文 1、 TextView 类似ASP.NET中的Label控件,只读显示控件,可通过getText()获取其android:text属性、s转载 2016-11-29 16:57:50 · 551 阅读 · 0 评论 -
Android导航栏ActionBar的详细分析
ActionBar的作用1、帮助用户知道你现在处于哪个页面2、为用户提供统一的导航界面在2.x上使用ActionBar的步骤1、导入android-support-v7库,这个库其实在你的sdk里面就有(前提是你已经下载下来了),如我的路径:D:\android-sdk-windows\extras\android\support\v7\appcompat2、创转载 2016-11-17 16:30:37 · 288 阅读 · 0 评论 -
Android数据存储(SqLite数据库存储)
一、SQLite介绍提到数据存储问题,数据库是不得不提的。数据库是用来存储关系型数据的不二利器。Android为开发者提供了强大的数据库支持,可以用来轻松地构造基于数据库的应用。Android的数据库应用,依托于当下最流行的开源嵌入式数据库SQLite。在Android中,应用的数据库文件是该应用私有的,存储在应用数据目录下的databases子目录内。从代码结构来看,Android的数据转载 2016-11-29 15:27:29 · 309 阅读 · 0 评论 -
andriod 解析json 四种格式
1 简单的一个 { ,,,,} 2 里面有数组 { , [{,,},{,,}],} 3 直接一个数组 4 数组里有数组package com.example.json;import java.net.URL;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObje原创 2015-08-20 11:45:16 · 491 阅读 · 0 评论 -
andriod PullToRefresh的使用 构建下拉刷新的listView
下载源码后(https://github.com/chrisbanes/Android-PullToRefresh),里面有个Library工程,添加工程到Eclipse中;1.导入Library 2.布局xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res原创 2015-09-20 20:23:18 · 463 阅读 · 0 评论 -
Android数据读取 写入操作(SD卡文件存储、SharedPreferences存储)
数据和程序是应用构成的两个核心要素,数据存储永远是应用开发中最重要的主题之一,也是开发平台必须提供的基础功能。不光是在Android平台上,在其他的平台上,数据的存储永远是不可缺少的一块。Android的数据存储是构建在Linux的文件系统上,它充分利用Linux的账号系统来限定应用对数据的访问,部署了一套安全和灵活并重的数据存储解决方案。Android的文件框架,以及各种数据存储手段,具体包括:转载 2016-11-29 11:49:24 · 4762 阅读 · 0 评论 -
andriod webview 控件
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。webview有两个方法:setWebChromeClient 和 setWebClientsetWebClient:主要处理解析,渲染网页等浏览器做的事情setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等原创 2015-11-27 16:15:45 · 641 阅读 · 0 评论