- 博客(141)
- 收藏
- 关注
原创 使用系统默认UITableViewCell使用时的heightForRowAtIndexPath:indexPath方法
iOS项目开发中使用系统默认的UITableViewCell时,Delegate中的方法- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;须慎用。 项目中使用系统默认的UITableViewCell:- (UITableViewCell *)t...
2014-10-13 14:13:10
312
原创 iOS后台运行示例代码
iOS获取有限的后台运行时间// AppDelegate.h文件 @property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUpdateTask; // AppDelegate.m文件 - (void)applicationDidEnterBackground:(UIApplication *...
2014-08-21 14:23:41
325
原创 layoutSubviews调用时机
原文:以下情况下会被调用:1、init初始化不会触发layoutSubviews;2、addSubview会触发layoutSubviews;3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化;4、滚动一个UIScrollView会触发layoutSubviews;5、旋转Screen会触发父UIView上的layou...
2014-04-01 13:14:04
214
原创 避免OOM的一种方式
从网上看到一个避免OOM的方式,创建图片时,使用decodedStream方法,然后底层代码可以避免减少内存的消耗!在此只做记录,没有验证底层代码!大概代码如下: InputStream inputStream = getResources().openRawResource(resourceId); BitmapFactory.Options options = new...
2014-03-11 09:30:33
169
原创 扩展UIDevice来监测网络连接
《The iPhone Developer's Cookbook》没什么好说的,直接上代码:1、UIDevice+Reachability.h:#import <UIKit/UIKit.h>@interface UIDevice (Reachability)+ (BOOL) networkAvailable;+ (BOOL) activeWLAN;+ (...
2013-11-07 17:40:24
175
原创 判断网络是否连接
iOS开发中判断网络连接的操作步骤如下:1、添加framework,SystemConfiguration.framework;2、倒入文件:#import <SystemConfiguration/SystemConfiguration.h>#include <netdb.h> 3、判断方法:- (BOOL) connectedToNetwork...
2013-11-07 17:32:06
175
原创 Objective-C 创建单例
程序开发(Objective-C)中,经常要用到单例,其创建代码如下:static Car *sharedInstance = nil;#pragma mark Single instance+ (Car *)sharedInstance { if (!sharedInstance) { sharedInstance = [[self alloc] ...
2013-11-07 12:14:26
140
原创 视图切换的方式
1、利用NavigationController切换切换: - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated; 返回:- (UIViewController *)popViewControllerAnimated:(BOOL)animated; 2...
2013-11-01 15:59:24
337
原创 锁屏操作
从API Level 8开始,添加了一个新的类DeviceAdminReceiver,官方文档:http://developer.android.com/reference/android/app/admin/DeviceAdminReceiver.html下面说明如何使用这个类来实现锁屏,具体如下: 1、自定义DeviceAdminReceiverpublic class C...
2013-11-01 11:29:43
174
原创 让Surface中绘制的内容响应用户的交互(状态变化)
被绘制的内容响应用户的交互,简单的看就是绘制内容的状态在用户操作时发生了变化。对于在SurfaceView中绘制的内容,如果我们希望文字可以水平移动,看看我们可以做些什么来实现这样的效果?首先,为了让例子简单,我们从XML文件中的Button接收用户的操作。然后在Activity中让自定义的View做我们所希望的状态变化,前提是获得自定义View的引用和为其添加操作接口。最后,在MyVie...
2013-10-28 16:54:27
130
原创 在自定义的SurfaceView中绘制内容
View和SurfaceView都可以用于绘制图形,但各有各的适用场合。一般情况,主动更新,不考虑UI线程的限制,双缓存加速等情况下会优先考虑SurfaceView。下面把上篇中的MyView通过继承SurfaceView来重新编写,具体如下: public class MyView extends SurfaceView implements Callback, Runnable...
2013-10-28 16:53:37
632
原创 在自定义的View中绘制内容
程序开发中,常常需要完成某一个特殊效果而绘制一些内容。下面简单说明如何在View中绘制简单内容并显示出来。在自定义的View中绘制内容,主要是在onDraw方法中添加绘图操作。如果Paint可以共享,不妨把它放到类变量里面去,具体参考如下:public class MyView extends View { private Paint mPaint; privat...
2013-10-28 10:52:23
121
原创 AdMob SDK 升级后,出现的问题
最新版本的SDK下载地址:https://developers.google.com/mobile-ads-sdk/download#downloadiosSDK使用的开发指南地址:https://developers.google.com/mobile-ads-sdk/docs/ios/fundamentals#incorporating 最近要更新项目中的AdMob SDK,本...
2013-10-15 11:55:26
374
原创 获取Bitmap大小
Bitmap的操作常常会导致OOM(内存溢出)。在处理Bitmap时,可以通过先获取Bitmap的边框来确定缩放处理。具体操作可以通过BitmapFactory.Option来实现,具体步骤如下:设置inJustDecodeBounds为true,获取option;根据option计算inSampleSize;解码Bitmap前要设置inJustDecodeBounds为f...
2013-10-08 17:59:01
190
原创 转:优秀程序员无他,善假于物也
原文:http://blog.jobbole.com/36713/运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想。《程序员的思维修 炼》一书中将程序员分为5个层级:新手、高级新手、胜任者、精通者、专家。根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手。而且居 于这个层级的程序员从入行1、2年的到工作10...
2013-10-08 16:28:23
235
原创 隐藏键盘的一种处理方法
通过调用系统服务来隐藏键盘的一种处理方法: // 获取InputMethodManager实例 InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); if (inputMethodManager != null) { ...
2013-10-08 15:18:18
166
原创 通过系统调用裁剪图片
分享一个Android源码查看网页:http://androidxref.com/source/ 通过系统调用裁剪图片,系统会根据传入的参数而确定返回的数据类型。主要通过CropImage.java来实现相关操作,CropImage.java源码参见如下地址:http://androidxref.com/source/xref/packages/apps/Gallery/src/...
2013-10-08 15:05:16
122
原创 拍照,相册获取图片,系统裁剪图片
获取相册图片的一种写法:Intent intent = new Intent(Intent.ACTION_PICK);intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");startActivityForResult(intent, RequestCode); 说明:Requ...
2013-09-30 12:41:59
116
原创 矩阵变换前后,点的对应关系
官方对于Matrix的说明:http://developer.android.com/reference/android/graphics/Matrix.html 假设变化前的点为(x,y,z),变化后的点为(X,Y,Z),那么经过Matrix变化后有:X = MSCALE_X * x + MSKEW_X * y + MTRANS_X * zY = MSKEW_Y * x ...
2013-09-29 13:50:37
811
原创 转-Android开发环境搭建篇详尽的教程实例汇
原文:http://wiki.eoe.cn/page/Android开发环境搭建篇详尽的教程实例汇.html 一、android开发环境搭建图文教程整理篇:1、Android开发环境搭建全程演示(jdk+eclip+android sdk)最新最详尽的图文教程,适合新手和入门级的网友学习!http://www.eoeandroid.com/thread-163886-1-1.htm...
2013-09-27 13:50:57
213
原创 一种更改包名的方式-Linux命令
在Android应用程序中更改包名,可以从文件的角度来解决这个问题。原理:包的存在理由之一是为了更好的管理项目文件;文件中对包名的import,目的之一是为了更好、正确的找到目标文件;根据上述原理,修改包名的问题就转化为更改文件中的对包名的引用和让文件处于正确的目录下的问题。下面根据一个具体例子来说明。问题:需要把包名com.anhuioss.myproject改成co...
2013-09-27 09:54:30
1251
原创 Android 通过反射启动未安装的APK中的Activity
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。...
2013-02-05 16:32:35
412
原创 Android 判断程序是否是系统程序
获得Android手机中安装程序是否是系统程序,比较好的方式是先获得已经安装的应用程序,然后过滤后得到想要的程序列表。主要代码如下: List<PackageInfo> packageInfoLis = getPackageManager().getInstalledPackages(PackageManager.PERMISSION_GRANTED); ...
2013-02-04 14:12:41
258
原创 Android R
import java.lang.reflect.Field;import android.content.Context;import android.util.Log;public class ResourceUtil { private static String TAG = "ResourceUtil"; private static ResourceUti...
2013-02-01 16:18:47
109
原创 Android 主题之主题文件夹
从文件夹中获得主题资源,然后在程序中做相关调整,下面看一个简单的例子效果: 主题文件放到主题文件夹下,效果如下:skin存在SDCARD路径下,skin/0和skin/1下是两个主题文件夹,里面包含对应的主题文件。 获得图片资源:使用方法Bitmap android.graphics.BitmapFactory.decodeFile(String pathName)可...
2013-02-01 14:22:05
520
原创 Android 主题之安装的APK主题文件
Android中应用主题设置之APK主题文件,主要想法是把主题素材打包成APK,然后安装到手机,而目标程序可以获得主题APK信息及其相关资源。获得资源可以用公共接口方法,反射,Android内部提供的IPC通信技术等实现。 无障碍访问另一个APK中的资源的一个简单方法是设置相同的android:sharedUserId,至于原因参考开发者网站:http://developer.andr...
2013-01-31 17:25:49
454
原创 『转』Android Intent常见应用
转自:http://blog.youkuaiyun.com/spy19881201/article/details/5770971 部分代码有待进一步验证 参考:http://developer.android.com/training/sharing/index.html Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作(比如:view,edit...
2013-01-30 16:46:37
82
原创 Android px sp dip转化
一个关于px, sp, dip转化的代码:public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale * (DisplayMetrics类中属性density) * @return */ p...
2013-01-30 12:53:14
98
原创 Android 布局
对Android提供的基本布局控件进行组合,可以实现一些相对复杂的效果,下面需要实现的效果如图: header效果: header.xml文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an...
2013-01-30 11:19:22
73
原创 Android 添加动画的标签栏
运行效果图: 实现原理:标签布局好了以后,标签所在View响应onClick事件。添加另外的标签View,不响应点击事件,用于实现动画效果。在标签的onClick事件中调整移动的起始位置,和滑动标签的状态。 布局文件activity_label.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout...
2013-01-29 23:10:22
139
原创 Android Bitmap,Drawable, byte[]转化
Bitmap -- Drawable1:BitmapDrawable bd= new BitmapDrawable(bitmap)Bitmap -- byte[]1: private byte[] bitmap2Bytes(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStrea...
2013-01-29 13:10:25
102
原创 Android 图片圆角处理
绘制图形时,通过绘制相交的部分来实现,不多说,看代码: public static Bitmap getRoundedCornerBitmap(Bitmap sourceBitmap, float roundX, float roundY) { try { Bitmap targetBitmap = Bitmap.createBitmap(sourceBit...
2013-01-29 11:46:32
149
原创 Android LayoutInflater的几种获得方式
几种获得LayoutInflater的方式适用范围有所不同,具体参考SDK:LayoutInflater inflater1 = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);LayoutInflater inflater2 = LayoutInflater.from(this);LayoutInflater i...
2013-01-29 11:03:23
88
原创 Android 代码片段
1、屏幕大小方法一:WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();方法二:DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaul...
2013-01-29 10:36:52
113
原创 Android ViewFlipper简单示例
ViewFlipper简单示例,详情请参考:http://developer.android.com/reference/android/widget/ViewFlipper.html main.xml文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://sc...
2013-01-28 17:21:13
90
原创 Android 是否前台运行
Android App开发中,有时需要判断应用是否处于当前活动状态,下面提到两个方法,都是从ActivityManager获得相关信息。 方法之一: public boolean isAppOnForeground(String packageName) { ActivityManager activityManager = (ActivityManager) getSyste...
2013-01-28 14:30:06
102
原创 Android 组合View实现水平滑动效果
当标签很多而不能在一个页面显示时,希望可以通过滑动来显示未显示的标签。这个效果的实现方式有很多,比如:Gallery, TextSwitcher, 自定义View等。本文简单说明通过组合来实现这个效果,先看图片: 实现原理:在HorizontalScrollView中添加View,实现水平滚动。当点击操作时,对View的状态做修改。记录本次点击和上次点击的View,然后切换不同显示...
2013-01-28 13:43:23
180
原创 Android 自定义属性及其引用
1、在res/values目录下创建attrs.xml:<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="MyView"> <attr format="dimension" name="
2013-01-28 09:31:50
317
原创 Android 中使用onSaveInstanceState和onRestoreInstanceState保存恢复临时信息
在Activity中,有两个方法用于临时保存、恢复状态信息,这两个方法是:public void onSaveInstanceState(Bundle savedInstanceState);public void onRestoreInstanceState(Bundle savedInstanceState);关于这两个方法的描述不是本文要说明的内容,请参考开发者网站!:)...
2013-01-25 17:31:18
128
原创 『转』Android 多个UI库及组件资源
转自:http://www.cnblogs.com/hanyonglu/archive/2012/03/30/2424488.html 短短数年时间 Android 平台就已经形成了一个庞大而活跃的开发者社区。许多社区开发的项目业已进入成熟阶段,甚至可以用于商业的软件生产中,且不用担心质量问题。 本文编译自 androiduipatterns,意在分享一些免费、开源的 Android...
2013-01-25 15:59:11
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人