Android
文章平均质量分 72
DQ1005
向着光 成为光
展开
-
Android的schedule、AlarmService、Timer定时器机制
在android中,经常用到的定时器主要有以下几种实现:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable,long)方法三、采用Handler与timer及TimerTask结合的方法。下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消息。这只是最主要的方法,当...原创 2015-09-01 15:47:23 · 2242 阅读 · 0 评论 -
KJHttp框架使用讲解
KJHttp框架使用讲解本文原创,转载请以链接形式注明地址:http://kymjs.com/code/2015/05/12/01写给那些在用、想用、还没有用过KJFrame的朋友。 KJFrameForAndroid总共分为四个功能:Activity继承链的规范,Http数据请求和上传下载,Bitmap大图加载以及ListView滚动时只加载内存图片,数据库对象存储与集合对象存储。还有一转载 2016-05-07 15:46:25 · 3474 阅读 · 0 评论 -
Android 应用程序发布流程---碗豆荚发布流程
(1)访问其官网并登录账号(求注册,请注册),如下图所示:上传完成之后,就进入“填写应用信息”步骤了:按照提示一步步填写以下信息:1》 基本信息:1》 详细信息:3》 素材4》 其他之转载 2016-05-07 13:21:43 · 469 阅读 · 0 评论 -
Android应用项目绑定appcom_v7打包时,出现错误:"XXX"isnottranslatedin"af"(Afrikaans),"am"(Amharic),"ar"(Arabic).....
问题:当我们开发完成一个Android应用程序后,在发布该应用程序之前必须要经过的一步时打包应用程序。至于从打包程序到发布的完整过程可以参考: Android 应用程序发布流程---碗豆荚发布流程更新ADT至22.6.0版本之后,出现了这个库,appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让2.1以上全使用上4.0版本的界面。例如使用ActionBar,不需原创 2016-05-07 13:18:49 · 5554 阅读 · 0 评论 -
android:全屏设置 + 去标题 + 只去程序标题栏 (应用和activity设置)
注意:此篇文章的標題全部是針對activity是繼承與Activity而不是AppCompatActivityandroid:全屏设置 + 去标题 + 只去程序标题栏 (应用和activity设置)在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果:其一,通过在代码中可以设置,其二,通过manifest配置...原创 2016-05-05 20:47:10 · 1282 阅读 · 0 评论 -
Android去標題時報錯:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendan
错误描述:java.lang.IllegalStateException: You need to use a theme.appcompat theme (or descendant) with this activity产生原因:Activity继承自AppCompatActivity而不是Activity,在style.xml中使用了不兼容的Theme。从错误提示中提到Theme...原创 2016-05-05 22:00:03 · 5791 阅读 · 0 评论 -
【翻译】ContentProviderClient VS ContentResolver
这是一篇翻译自StackOverflow的文章。其主要论述的是ContentProviderClient与ContentResolver的区别。以及我们应该在什么情况下用ContentProviderClient代替ContentResolver。文章的地址是http://stackoverflow.com/questions/5084896/using-contentproviderclient...转载 2016-05-04 19:19:50 · 2107 阅读 · 0 评论 -
Android ListView相关开源项目汇总
在这篇blog中,我将会列出众多我收集到的与ListView相关的开源项目。因为这些项目的存在,ListView的交互性变得更友好,性能变得更加的优越。通过使用这些项目,你可以轻松的让你的ListView实现下拉刷新、拖拽排序,滑动删除等功能。bauerca/drag-sort-listview项目地址:https://github.com/bauerca/drag-sort-listvi...转载 2016-05-04 19:18:09 · 1166 阅读 · 0 评论 -
Android Cursor自动更新的实现和原理
Android Cursor自动更新的实现和原理在Android日常开发中,时常会请求数据到Cursor,然后再通过Cursor获取数据。像SQLiteDatabase和ContentProvider都使用了Cursor。在这些应用中,往往希望当数据发生改变时,Cursor也会自动的更新数据。这篇文章,我就会向你阐述如何通过Android自身的API实现Cursor的自动更新。另外我还将向你阐...转载 2016-05-04 19:15:54 · 3519 阅读 · 0 评论 -
解决方法:android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类)
在使用Android-async-http的时候我的apl 更新到了23,我的build version也是23的时候出现了,org.apache.http.Header这个类找不到的情况,原因是在api 23中,不提供org.apache.http.*(只保留几个类)Android Studion解决办法:android { useLibrary 'org.apac...原创 2016-05-26 10:31:28 · 3350 阅读 · 0 评论 -
15 个 Android 通用流行框架大全
1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picasso一个强大的图片下载与缓存的库Fresco一个用于管理图像和他们原创 2016-05-12 10:55:07 · 349 阅读 · 0 评论 -
自定义控件中易混淆方法
view.getScrollX()说明:它表示的是当前的屏幕x坐标的最小值-移动的距离(向右滑动时移动的距离为正值,向左滑动时移动的距离为负值),它的起始点始终是最开始接触屏幕滑动的坐标点(只要手指没有离开屏幕的话),它的值即为离开第一页的最短距离(表示当前滑块的X坐标)。view.scrollTo(int x, int y)说明:绝对坐标它表示移动到视图的哪个坐标点。原创 2016-05-24 21:12:28 · 847 阅读 · 0 评论 -
Android 之窗口小部件详解--App Widget
目录(?)[-] 1 App Widget简介2 App Widget主要的相关类介绍21 AppWidgetProvider22 AppWidgetProviderInfo31 添加 widget 到lock screen中32 布局一 Widget窗口组件二 Widget窗口大小33 App Widget支持的布局和控件转自:http://w转载 2015-09-24 11:11:54 · 804 阅读 · 0 评论 -
Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文原创 2016-05-19 12:50:52 · 1769 阅读 · 1 评论 -
widget窗口小部件
Appwidget就是手机应用中常常放在桌面(即home)上的一些应用程序,比如说闹钟等。这种应用程序的特点是它上面显示的内容能够根据系统内部的数据进行更新,不需要我们进入到程序的内部去,比如说闹钟指针的摆动等。1、widget类的定义首先,在res目录下新建一个名为xml的文件夹,在该文件夹下新建一个xml文件,例如example_appwidget_info.xml,该xml文件的根标原创 2016-05-19 16:36:45 · 7189 阅读 · 0 评论 -
android5.1+获取当前运行的app(Android5.1-也支持)
做一个项目时,需要获取当前正在运行的app(正在运行的应用进程等),android5.0-之前可以使用getRunningTask获取,5.0这个方法不可用了,但是提供了getRunningAppProcess也可以获得。但是自从android5.1+以后,Google从安全和隐私方面考虑,也废弃了getRunningAppProcess方法,getRunningAppProcess方法现在只能返回原创 2016-05-19 13:32:48 · 6264 阅读 · 1 评论 -
Android之View.onMeasure()方法
View在屏幕上显示出来要先经过measure(计算)和layout(布局).1、什么时候调用onMeasure方法? 当控件的父元素正要放置该控件时调用.父元素会问子控件一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec. 这两个参数指明控件可获得的空间以及关于这个空间描原创 2016-06-14 13:03:52 · 749 阅读 · 0 评论 -
View.requestLayout()
View.requestLayout()当一个View需要parent view重新调用他的onMeasure onLayout来对重新设置自己位置时,特别是当你修改了view的layoutparameter,它的值还没能应用到view上,调用这个方法就可以了,但是要注意parent view的onLayout是怎么实现的。requestLayout:当view确定自身已经不再原创 2016-06-14 09:43:05 · 1004 阅读 · 0 评论 -
Android中View绘制流程以及invalidate()、requestLayout()等相关方法分析
Android中View绘制流程以及invalidate()、requestLayout()等相关方法分析等相关方法分析整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为根据之前设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘(dr转载 2016-06-14 09:39:54 · 818 阅读 · 0 评论 -
GSON解析json数据详解
GSONJSON 介绍Gson 下载Gson 解析 和 格式化Gson 格式化Gson 解析Json 介绍Json 全称 JavaScript Object Natation ,用来描述数据结构,它是基于纯文本的数据格式,是一种轻量级的数据交换格式。广泛应用于 服务端 与 客户端 的数据交互。格式Json 以 ke原创 2016-06-13 16:13:51 · 19716 阅读 · 2 评论 -
Android中缓存目录问题及缓存的过程
getCacheDir()方法用于获取/data/data//cache目录getFilesDir()方法用于获取/data/data//files目录------------------------------------------------------------------------------------------------------------------------原创 2016-06-12 18:19:15 · 850 阅读 · 0 评论 -
Android 模拟MotionEvent事件 触发输入法
一、布局文件showime.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"转载 2016-06-05 14:18:14 · 942 阅读 · 0 评论 -
Android系统ViewGroup事件分发
之前我们知道触摸事件是被包装成MotionEvent进行传递的,而该对象是继承了Parcelable接口,正因为如此,才可以从系统中传递到我们的应用中。系统通过AIDL跨进程调用了应用的Activity的dispatchTouchEvent方法,并把MotionEvent对象作为参数传递过来。dispatchTouchEvent就是触摸事件传递的对外接口,无论是系统传给Activity,还是A原创 2016-06-04 21:31:13 · 430 阅读 · 0 评论 -
Android系统中View的onTouchEvent和OnTouch区别
以自定义的TestButton为例。我们可以通过重写onTouchEvent方法来处理诸如down move up的消息:?123456789101112131415161718public class TestButton extendsButton {原创 2016-06-04 20:35:14 · 2537 阅读 · 1 评论 -
解决谷歌为Android系统提供的支持库android-support-v4。jar不能绑定查看源码的问题
解决谷歌为Android系统提供的支持库android-support-v4.jar、android-support-v7.jar不能绑定查看源码的问题出现这一问题的原因是:Android系统默认Android Dependencies包下的文件都是私有private文件。解决的办法:右键应用项目-》Build Path-》Configure Build Path...-》选中Librar原创 2016-05-23 13:16:37 · 1072 阅读 · 0 评论 -
Android View中getViewTreeObserver().addOnGlobalLayoutListener()
我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成。所以现在需要使用getViewTreeObserver().addOnGlobalLayoutListener()来获得宽度或者高度。这是获得一个view的宽度和高度的方法之一。OnGlobalLayoutListener 是原创 2016-06-09 18:58:09 · 1125 阅读 · 0 评论 -
Android常用工具类
Android常用工具类主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。目前包括(HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、转载 2016-06-09 14:27:55 · 291 阅读 · 0 评论 -
android中反射技术使用实例
在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。反射 是 Java程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部原创 2016-05-22 14:36:58 · 3189 阅读 · 0 评论 -
Context类bindService(Intent service, ServiceConnection conn, int flags)参数
public abstract boolean bindService(Intent service, ServiceConnection conn,int flags); 参数 flags的值有如下情况:public static final int BIND_AUTO_CREATE 表明只要绑定存在,就自动建立 Service;同时也告知Android系统,原创 2015-09-13 11:23:20 · 3496 阅读 · 0 评论 -
Android AppWidget核心之AppWidgetService
本文讲述Android中AppWidget系统的核心AppWidgetService。从AppWidgetService提供的外部接口、内部数据结构、初始化过程以及典型场景的实现等几方面来阐述。前面讲述AppWidget的诸文中已经讲到,AndroidAppWidget系统里的Host角色和Provider角色的实例通过AppwidgetHost/ AppWidgetManager组件提供转载 2015-09-25 12:15:49 · 1157 阅读 · 0 评论 -
Android中LayoutInflater详解
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入原创 2015-08-24 17:14:12 · 136 阅读 · 0 评论 -
android中联系人以及 ContactsContract类大全
1.加入读写权限uses-permission android:name="android.permission.READ_CONTACTS" />uses-permission android:name="android.permission.WRITE_CONTACTS" />联系人信息Uri:content://com.android.contac转载 2015-08-09 15:04:51 · 2434 阅读 · 2 评论 -
android中Activity.startManagingCursor(cursor)方法详解
在使用数据库操作查询数据后,如果是在Activity里面处理,那么很可能就会用到startManagingCursor()方法,startManagingCursor()作用和使用注意事项:调用这个方法,就是将获得的Cursor对象交与Activity 来管理,这样Cursor对象的生命周期便能与当前的Activity自动同步,省去了自己管理Cursor。看AP原创 2015-08-09 14:00:00 · 2100 阅读 · 0 评论 -
Android系统自带样式(android:theme)
Android系统自带样式(android:theme)android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序标题栏android:theme="@android:style/Theme.NoTitleBar.Ful...原创 2015-08-24 14:46:55 · 647 阅读 · 0 评论 -
Android中Cursor类总结-概念和用法
Cursor是把查询到的结果集封装在一个Cursor对象当中。cursor就像是结果集上的一个游标,可以向前向后移动。取出Cursor中的数据一般是用:while(cursor.moveToNext()){ // 取值}很多时候,不要忘记 moveT原创 2015-08-09 15:01:20 · 988 阅读 · 0 评论 -
java中FileOutputStream流,向文件中追加内容,而不是覆盖掉文件中原有的数据
public FileOutputStream(String name,boolean append) throws FileNotFoundException创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。new 的时候加一个true参数则是追加。默认为false,则是覆盖。原创 2015-06-30 14:47:17 · 26045 阅读 · 3 评论 -
Android开发PopupWindow.showAtLocation用法
PopupWindow的显示方法有三个:showAsDropDown(anchor);showAsDropDown(anchor, xoff, yoff);showAtLocation(parent, gravity, x, y)。前两个showAsDropDown方法是让PopupWindow相对于某个控件显示,而showAtLocation是相对于整个窗口的。第一个参数是V原创 2015-06-05 11:24:09 · 7353 阅读 · 0 评论 -
SharedPreferences中的MODE_APPEND 和 MODE_PRIVATE 区别
public static final int MODE_PRIVATEAdded in API level 1File creation mode: the default mode, where the created file can only be accessed by the calling application (or all applications sharing原创 2015-06-25 10:40:07 · 10010 阅读 · 0 评论 -
file.getParentFile.mkdirs()
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public原创 2015-06-25 15:37:36 · 6433 阅读 · 0 评论 -
LayoutInflater的inflate函数用法讲解
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。获取LayoutInflater的方法有如下三种:?LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);原创 2015-06-05 09:47:43 · 741 阅读 · 0 评论