- 浏览: 286913 次
- 性别:
- 来自: 北京
最新评论
-
肆无忌惮_:
多谢楼主分享
android内存泄露优化总结 -
wwwjiandan:
我用自定义Action为什么每次调用Activity时都提示找 ...
Activity之间的通信与自定义Action -
Zero颴:
写得好
android内存泄露优化总结 -
pigeon200461:
你好!请问你的这个项目里面是否使用sqlite3数据库。
android通过webview+jquery设计界面 -
ZHxin:
在activity中引入Fragment的xml方式确信能在低 ...
通过Compatibility Package低版本使用Fragment
文章列表
android图片圆角效果
- 博客分类:
- android
圆角效果:
import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graph ...
Android 进程之间不能共享内存,但是实现进程之间通讯的方法有很多,Activity、Broadcast,ContentProvider,SharedId都可以。作为android四大组件的Service 也有自己的方法实现进程之间的通讯--AIDL
流程:
服务端:
(1)新建扩展名为aidl的文件。内容与java语言类似 但是也有区别
package com.my;interface IService{ String getString();}
(2)如果aidl文件创建正确,ADT会自动给你生成一个java文件,内容定义的是一个接口。
(3)编写一个继承自android.a ...
Service是android的四大组件之一,地位相当重要。Service是没有实际界面,在后台运行的。
Service的生命周期比起Activity的少多了:创建服务,开始服务,销毁服务
创建服务和销毁服务只会一次,而开始服务可以执行多次
使用服务:
(1) 编写类继承自android.app.Service。
import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.util.Log;
public class MyService exte ...
通常提到android应用之间的数据共享,最先想到的总是ContentProvider,其实还有一种方法也可以实现应用之间的数据共享--配置SharedId
流程:
(1) 修改数据提供方和数据使用方的AndroidManifest.xml 中的<manifest>节点的属性
android:sharedUserId="com.mysharedId" 这里属性的值,数据提供方和调用方必须一致并且不能只有一个单词也就是说最少有一个“.”。
(2)使用
在数据使用Activity对象的createPackageContext()方法得到数据提供方的Co ...
Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户(Android 系统是基于Linux)的.所以不同APK(用户)间互相访问数据默认是禁止的.但是它也提供了2种APK间共享数据的形式:1. Share Preference. / Content ProviderAPK可以指定接口和数据给任何其他APK读取. 需要自己实现接口和Share的数据.本文对于这个不做详细解释2. Shared User id通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意 ...
android数据的存储方式大体上来书有四种:SharedPreferences,File,SQLite,ContentProvider
做了个ContentProvider的demo
ContentProvider翻译成中文是内容提供者,肯定有提供方和调用方。
数据提供方的实现:
流程:分为两步
(1) 编写一个类继承自ContentProvider类,会有很多方法可以实现,根据具体需求选择自己要实现的
public class MyContentProvider extends ContentProvider {
private static UriMatcher ...
Intent对象除了应用于Activity之间的通信外,还可以用于Broadcast,与Activity类似,广播有系统广播,也可以自定义广播,
可以实现很多效果(短信广播,开机广播,电量广播等)
1.接收系统广播
流程:分为两步
(1) 编写一个类继承自 android.content.BroadcastReceiver 并实现onReceive()方法(接收到广播是会调用这个方法)
(2)在AndroidManifest.xml文件中的<application>节点下注册广播接收者(receiver节点):
使用<r ...
Activity之间的通信
Activity 之间的通信是通过Intent实现的
1.由activity A 到B -- 调用同一个应用下的activity
a.普通方式
流程:创建一个Intent实例 ,通过Intent指定从哪个Activity到哪个Activity,然后 A实例对象.startActivity(Intent ...
android 有很多种类的资源,有7个是在res下新建目录然后将资源放在目录下:res/values,res/xml,res/layout,res/drawable,res/anim,res/menu,res/raw
还有一种是存放在res同级的目录assets目录下,也就是说大体上android资源种类有8类。
res/values : 存放字符串,颜色,尺寸,数组,主题,类型等资源。
res/xml : 可以是任意类型的xml文件,这些xml文件可以在运行时读取
res/layout:布局文件
res/drawable:图片(bmp,png,gif ...
对于移动客户端来说,数据库肯定都是轻量级的,像sqlite ,今天做一个android下数据库操作的demo。
对于有数据库的应用,如果数据库包含在apk中,不进行处理的话,可能出现一种情况,随着数据记录的增加,应用会越来越大也就是说应用的大小是变化的。解决这个问题的方法是将数据库文件放到sd卡中。
1.在res目录下新建raw目录,将书库文件放到raw目录下
2.应用第一次使用时,将数据库文件写道sd卡中
(别忘了加
<!-- 操作sd卡权限 --> <uses-permission android:name="android.permission.MOU ...
前段时间做新浪微博,遇到个表情微博处理问题,查了些资料,做了个demo:
上图:要实现这个效果要分为三步:
1.准备表情图片,并新建一个在values文件加下建数组资源文件: arrays.xml
<?xml version="1.0" encoding="UTF-8"?><resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:docume ...
相信UI设计是很多人头疼的问题,今天看了一个视频是通过webview+html 设计UI界面,想了一想可以将jquery整合进去(我以前是学做网站的,jquery可以实现很多效果)所以做了个demo,我这个demo只是实验下我的猜想是否可行,不是真正的ui设计,所以更多的是效果的实现界面挺难看的。 (demo在附件中)
先上图:
关键代码(demo在附件中):
---------------------------------------------activity
@Override public void onCreate(Bundle savedIns ...
虽然android类库给我们提供了很多与ListView适配的Adapter并且使用起来非常方便,但是想要开发出美观的程序,自带的是不够的所以我们要重写Adapter。1.继承BaseAdapter类2.重写getView()--每一项显示成什么样有它决定3.重写getCount()--一共有多少项由它决定4.实现OnItemClickListener事件--为每一项添加事件实现onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)事件。下面是一个简单的例子:
package net.my.jokebo ...