![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android--- 笔记
文章平均质量分 91
huluhong
这个作者很懒,什么都没留下…
展开
-
Android 6.0: 动态权限管理的解决方案
Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常不错的解决方案, 提供源码, 项目可以直接使用.Android系统包含默认的授权提转载 2017-11-20 16:05:16 · 1995 阅读 · 0 评论 -
Android 网络开发框架的选择
在看android基础的时候,关于网络操作一般都会介绍HttpClient以及HttpConnection这两个包。前者是apache的开源库,后者是android自带的api。既然提到了他们,都二者进行一个比较,谷歌在官方文档已经说明了,建议在2.3以及以上版本使用 HttpConnection。具体原因呢,是因为对2.1和2.2版本,HttpURLConnection有那么几个Bug,所以建议原创 2014-08-11 11:48:13 · 436 阅读 · 0 评论 -
Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸
一、引言 Android的开源使厂商无需自行研发OS,大大降低了研发、生产的成本,使得Android平板品牌如雨后春笋般爆发,山寨机厂商们似乎又找到了一丝希望。与此同时带来的是广大开发者的苦不堪言,各种神奇的小板儿考验着app的兼容性,各种定制的rom不经意间就让app崩溃,光是界面上的调整就已经够你喝一壶了,是不?二、适配可行性 早在Android设计之初就考虑到了这原创 2014-08-22 10:49:34 · 442 阅读 · 0 评论 -
Android开发中抽象工厂模式
模式解读 abstract 是“抽象”,factory 是“工厂”,所以合起来abstract factory 就是“抽象工厂”的意思。Abstract Factory Pattern 中的抽象工厂则是把各种抽象零件合成抽象产品。换句话说,处理的重点是在接口(api)而不是零件的具体实现。只利用接口(API)就能把零件组合成产品。 模板方法模式和生成模式的情形 是在子类进行具体的实原创 2014-08-22 14:24:08 · 471 阅读 · 0 评论 -
Android处理图片OOM的若干方法小结
前言众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定)。因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片、音频文件、视频文件等多媒体资源;由于Android系统对音频、视频等资源做了边解析便播放的处理,使用时并不会把整个文件加载到内存中,一般不会出现内存溢出(以下简称OOM)的错误,因此它们的内存消原创 2014-08-07 17:12:05 · 500 阅读 · 0 评论 -
android Broadcast学习
其实所谓的静态注册,动态注册,是指接收广播的时候,是静态注册接收还是动态注册接收,发送的时候不分静态,动态以发送intent为例,一共分4种情况,以每次注册两个Broadcast为例:情况一,注册2个静态Broadcast如果是静态注册的,接收的一定是某一个类继承BroadcastReceiver2个java文件如下:BroadcastActivity.原创 2014-07-31 17:23:05 · 345 阅读 · 0 评论 -
安卓开发者必备的42个链接
暑假就要结束了(译注:本文发布在 13 年 8 月份),或许你已决定成为一个安卓程序员。假期中,我收集了 42 个帮助大家学习安卓的链接。有的链接是面向初学者的帮助你从头开始,其他的则面向比较高级的开发者。当然这个列表是相当主观的,如果您也有更多关于安卓内容的链接,欢迎在评论栏中留言。 官方网站 1、谷歌安卓开发者页面 这里是主站点,在这您可以找到一切资源帮助您开始转载 2014-08-01 17:43:46 · 533 阅读 · 0 评论 -
android:screenOrientation属性
在开发android的应用中,有时候需要限制横竖屏切换。只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。android:screenOrientation="landscape"是限制此页面横屏显示, android:screenOrientation="portrait"是限制此页面数竖屏显示。原创 2014-08-19 09:07:30 · 361 阅读 · 0 评论 -
六款值得推荐的android(安卓)开源框架简介
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请原创 2014-07-31 12:45:37 · 533 阅读 · 0 评论 -
Android 多线程处理之多线程用法大集合
handler.post(r)其实这样并不会新起线程,只是执行的runnable里的run()方法,却没有执行start()方法,所以runnable走的还是UI线程。1.如果像这样,是可以操作ui,但是run还是走在主线程,见打印出来的Log线程名字是main,说明是主线程。这就是为什么可以直接在run方法里操作ui,因为它本质还是ui线程handler.post(new转载 2014-06-20 17:45:27 · 497 阅读 · 0 评论 -
Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
前言结合之前所用的ormlite和hessian,再加上SAE已经支持JAVA,把服务端切换到JAVA,也就有了本文。使用hessian来做数据传输,ormlite来实现客户端与服务端的数据存储,极大的减少了CRUD工作。本文为探索贴,未正式用于大型项目,欢迎大家讨论使用! 声明 欢迎转载,但请保留文章原始出处:) ITEYE:http://www.itey原创 2014-08-04 16:46:04 · 524 阅读 · 0 评论 -
Android Service学习之AIDL, Parcelable和远程服务
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。转载 2014-06-20 17:52:52 · 320 阅读 · 0 评论 -
Android中的对话框AlertDialog使用技巧合集
今天我用自己写的一个Demo 和大家详细介绍一个Android中的对话框的使用技巧。 1.确定取消对话框对话框中有2个按钮 通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件。我们使用AlerDialog 创建对话框转载 2014-06-20 17:43:01 · 354 阅读 · 0 评论 -
Android 使用【AIDL】调用外部服务
在Android 中有一种服务说是服务其实倒不如说是一个接口,这个接口名为:Android Interface Definition Language ,这个接口可提供跨进程访问服务,英文缩写为:AIDL。 此种服务的好处在于,多个应用程序之间建立共同的服务机制,通过AIDL在不同应用程序之间达到数据的共享和数据相互操作,下面将通过一个DEMO 演示AIDL 是如何为应用程序之间提供服务转载 2014-06-20 17:51:39 · 376 阅读 · 0 评论 -
Android 如何建立AIDL
建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下: (1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。详细介绍见实例52的内容。 (2)如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。 (3)建立一个服务类(Ser转载 2014-06-20 17:53:36 · 376 阅读 · 0 评论 -
Android 提示版本更新的实现
步骤:1.检测当前版本的信息AndroidManifest.xml-->manifest-->android:versionName。2.从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面。3.当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进转载 2014-06-19 17:31:44 · 380 阅读 · 0 评论 -
用Eclipse开发和调试Android应用程序
一、 Android 应用程序概述1. Android的嫡系组件Android有四项一等公民(或称为嫡系组件),包括:Activity(活动)、ContentProvider(内容提供程序)、BroadcastReceiver(广播接收器)与Service(服务)。它们都必须宣告于AndroidManifest.xml档案里。Activity活动活动是最常用的 An转载 2014-06-19 13:55:34 · 986 阅读 · 0 评论 -
Android---AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟。通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似。都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service.下面的代码详细转载 2014-06-19 16:09:28 · 547 阅读 · 0 评论 -
Android查看当前显示哪个Activity
[java] view plaincopy/** * 打印消息 * @author Administrator * */ class PrintThread extends Thread{ @Override public void run() { // TODO Auto-gene原创 2014-08-22 14:23:32 · 1020 阅读 · 0 评论 -
android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
1 Android手机目前常见的分辨率1.1 手机常见分辨率:4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VG原创 2014-08-25 10:24:35 · 382 阅读 · 0 评论 -
Android Bitmap 优化- 图片压缩
一直以来Bitmap都是开发中很棘手的问题,这个问题就是传说中的OOM(java.lang.OutofMemoryError - 内存溢出),那么Bitmap为何如此丧失,令无数Android开发者所懊恼?一、Bitmap引发OOM的原因由于每个机型在编译ROM时都设置了一个应用堆内存VM值上限dalvik.vm.heapgrowthlimit,用来限定每个应用可用原创 2017-11-20 14:23:20 · 1825 阅读 · 0 评论 -
基于OKhttp循环队列发送心跳包,上传,多条上传 管理类
package com.omniteaching.otscale.system.formula;import android.content.Context;import android.text.TextUtils;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import com.omni原创 2017-11-13 15:43:22 · 1982 阅读 · 1 评论 -
ListView异步加载图片实现思路(优化篇)
在APP应用中,listview的异步加载图片方式能够带来很好的用户体验,同时也是考量程序性能的一个重要指标。关于listview的异步加载,网上其实很多示例了,中心思想都差不多,不过很多版本或是有bug,或是有性能问题有待优化。有鉴于此,本人在网上找了个相对理想的版本并在此基础上进行改造,下面就让在下阐述其原理以探索个中奥秘,与诸君共赏… 贴张效果图先: 异步加载图片基本思想:转载 2014-06-17 15:31:51 · 695 阅读 · 0 评论 -
Android抽奖转盘代码
android抽奖程序,一个抽奖大转盘代码,里面定义了很多图形方法和动画,SlyderView.java源代码如下:001import android.app.Activity;002import android.content.Context;003import原创 2014-08-02 10:21:16 · 2307 阅读 · 2 评论 -
android用户界面之GridView教程实例汇总
一、GridView基础知识1.在GridView上显示SD卡上的所有图片 http://www.apkbus.com/android-51436-1-1.html 2.网格(GridView)+图片(ImageView)+文字(TextView) http://www.apkbus.com/android-15565-1-1.html 3.Android API中文文档G原创 2014-11-01 14:04:13 · 525 阅读 · 0 评论 -
下载资源上半年人气资源大集合,免积分!不断补充中~
网址:http://bbs.csdn.net/topics/390811099原创 2014-10-10 15:00:49 · 797 阅读 · 0 评论 -
android 比较靠谱的图片压缩
第一:我们先看下质量压缩方法: Java代码 private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.Com原创 2014-09-15 14:11:26 · 490 阅读 · 0 评论 -
Android UI设计--ListView内嵌CheckBox的多选和删除
有时候项目中的ListView内需要内置一个CheckBox,供用户选择,多选,删除等等先看源码DataItem.javapackage com.example.checkboxdemo; public class DataItem { private String title; private原创 2014-09-01 17:09:35 · 825 阅读 · 0 评论 -
Android自定义Dialog
Android开发过程中,常常会遇到一些需求场景——在界面上弹出一个弹框,对用户进行提醒并让用户进行某些选择性的操作,如退出登录时的弹窗,让用户选择“退出”还是“取消”等操作。Android系统提供了Dialog类,以及Dialog的子类,常见如AlertDialog来实现此类功能。一般情况下,利用Android提供的Dialog及其子类能够满足多数此类需求,然而,其不足之原创 2014-09-01 17:54:02 · 598 阅读 · 0 评论 -
android UI进阶之实现listview中checkbox的多选与记录
今天继续和大家分享涉及到listview的内容。在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作。比如在一个清单页面,我们需要记录用户勾选了哪些条目。这个的实现并不太难,但是有很多朋友来问我如何实现,他们有遇到各种各样的问题,这里就一并写出来和大家一起分享。ListView的操作就一定会涉及到item和Adapter,我们还是先来实现这部分内容。原创 2014-09-01 17:49:24 · 1093 阅读 · 0 评论 -
Android开发:实现带图片和checkbox的listview
项目要用到一个listview,要求是可以显示图片,后面还有有复选框。先新建一个MyAdapter类,继承自BaseAdapter。在MyAdapter中实现对数据的绑定,我这儿由于是测试的,所以把数据写死了。Java代码 package com.zwq.umeng; import java.util.ArrayList; import java.util.原创 2014-09-01 17:50:12 · 458 阅读 · 0 评论 -
XlistView上拉刷新下拉加载
xlistview_header.xml[html] view plaincopyxml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2014-09-13 14:15:55 · 1426 阅读 · 0 评论 -
Android 更新UI的两种方法——handler和runOnUiThread()
Android 更新UI的两种方法——handler和runOnUiThread()在Android开发过程中,常需要更新界面的UI。而更新UI是要主线程来更新的,即UI线程更新。如果在主线线程之外的线程中直接更新页面显示常会报错。抛出异常:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thr原创 2014-08-15 17:37:33 · 427 阅读 · 0 评论 -
六款值得推荐的android(安卓)开源框架简介
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请原创 2014-08-15 16:06:42 · 454 阅读 · 0 评论 -
Android程序对不同手机屏幕分辨率自适应的总结
各种Android操作系统的手机简直就是琳琅满目,屏幕分辨率的差异可想而知。目前比较主流的有WVGA=800x480,HVGA=480x320,另外的还有QVGA=320x240。当然还有魅族M9的DVGA=960x640,还有蛋疼的摩托罗拉的FWVGA=854x480。 其实,在你layout的xml文件中,编写的时候是不是用了许多的padding呢?如果是,那你就蛋疼了。因为这样的布原创 2014-08-25 15:23:28 · 372 阅读 · 0 评论 -
Android网络通信的六种方式示例代码
http://www.apkbus.com/android-13316-1-1.html转载 2014-08-12 17:32:19 · 456 阅读 · 0 评论 -
Android中的通知Notification(详细总结)
1、获得系统服务notificationmanager=(NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);2、创建Notificationnotification=new Notification(R.drawable.keai,"可爱",System.currentTimeMillis());原创 2014-08-26 09:42:32 · 874 阅读 · 1 评论 -
Android AIDL远程调用
首先介绍一下AIDLAIDL简介 AIDL(AndRoid接口描述语言)是一种借口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的. 如果需要在一个Activity中, 访问另一个Service中的某个对象, 需要先将对象转化成 AIDL可识别的参数(可能是多个参数), 然后使用AIDL来传递这些参数, 在消息的接收端,转载 2014-06-20 11:11:45 · 547 阅读 · 0 评论 -
Android中文API(114)——TabWidget
前言 本章内容是android.widget.TabWidget,版本为Android 3.0 r1,本章配备完善的截图、链接和示例代码,翻译来自"madgoat",欢迎大家访问他的博客:http://madgoat.cn/,再次感谢"madgoat" !期待你加入Android 中文翻译组,联系我over140@gmail.com。 声明 欢迎转载,但请保留文章原始出处:转载 2014-06-20 14:49:12 · 500 阅读 · 0 评论 -
谷歌开发工具Android Studio安装使用图文教程
Google I/O开发者大会上宣布,Android Studio 1.0的前瞻版发布了,今早马上下载尝下鲜。下载地址如下:https://developer.android.com/sdk/installing/studio.html很显然的IntelliJ IDEA的样貌,下面是一些截图:选择了“New Project”给工程和包起个名字转载 2014-07-09 15:17:04 · 509 阅读 · 0 评论