Android
文章平均质量分 68
专注于Android 技术的分享
awp258
这个作者很懒,什么都没留下…
展开
-
Android 移动端编译 cityhash动态库
最近做项目, 硬件端 需要 用 cityhash 编译一个 动态库 提供给移动端使用,l。直接移植到Android 上。city.h 头文件。原创 2023-12-15 14:33:19 · 229 阅读 · 0 评论 -
Android 优质精准的用户行为统计完美解决方案
AOP简介:在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提...原创 2019-11-01 23:45:21 · 1093 阅读 · 0 评论 -
android 内存泄漏处理方式
由于某个对象持有了其他对象的引用导致 ,导致无法 GC。1:合理的使用context–比如我们常使用的Toast,Service,最好使用getApplicationContext(),因为这些在activity结束的时候可能仍在运行下图通过图片说明国关于context的使用)2:不要在activity中使用AsyncTask的强引用,如下是不行的:class MyActivi...原创 2019-10-15 09:52:58 · 150 阅读 · 0 评论 -
Android 屏幕截图 代码
我们大家都在用电脑的时候,用过截屏的功能,有的时候截屏给我们带来了很多的方便,那么我们现在怎么样才能在android中实现这个功能那,下面我们就用代码来实现这个对我们很方便的功能。 我们大家都在用电脑的时候,用过截屏的功能,有的时候截屏给我们带来了很多的方便,那么我们现在怎么样才能在android中实现这个功能那,下面我们就用代码来实现这个对我们很方便的功能。java代码:原创 2012-10-18 17:10:18 · 2381 阅读 · 2 评论 -
如何实现开机启动、清缓存、杀进程、悬浮窗口单双击区分,附源码
一、开机启动 很多手机软件具备开机启动的功能,有时候让软件开机启动会非常实用。那么是如何实现开机启动的呢?通过查找我们了解到开机后系统会发送一个启动完毕的广播,Intent.ACTION_BOOT_COMPLETED,那么我们只需要自定义一个BroadcastReciever接收这个广播,在接收到广播后启动我们的程序就可以实现开机启动了。 以本程序中的MyBroadcastRe原创 2012-10-17 16:40:45 · 1238 阅读 · 2 评论 -
andriod 防止截屏
WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;它继承于 ViewGroup.LayoutParams; 它用于向WindowManager描述Window的管理策略。主要成员常量Window flag系列该系列主要用于对Window的flag进行设置。设置Window的flag,可以直接对Window的getAttributes()原创 2012-09-24 11:24:52 · 1450 阅读 · 0 评论 -
Android SQLite数据操作
main.xml文件:01xml version="1.0" encoding="utf-8"?>02LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"03 an原创 2012-09-17 14:39:30 · 948 阅读 · 2 评论 -
Android使用SQLiteDatabase操作SQLite数据库
Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。对SQLiteDatabase的学习,我们应该重点掌握execSQL()和rawQuery()方法。 execSQL()方法可以执行insert、delet原创 2012-09-17 14:36:58 · 1216 阅读 · 0 评论 -
画板之 android的selector,背景选择器
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据List原创 2012-09-12 13:50:58 · 758 阅读 · 0 评论 -
android 简单的画图操作
1.将背景图片在屏幕的canvas画布上先画好,例如canvas.drawBitmap(bgBitmap,0,0,null);2.新建一个Bitmap,例如Bitmap tempBitmap=Bitmap.createBitmap(100,100,Config.ARGB_4444);并以此Bitmap新建一个临时画布canvas例如:Canvas temptCanvas=new Canva原创 2012-09-11 16:55:38 · 1335 阅读 · 0 评论 -
android中使用很多大图片的一些做法
最近在xoom上开发应用,碰到ui设计都是使用图片,而且是多个activity。开始没觉得怎么样,就开始做呗。等做完了,开始在前三个activity运行没问题,一切ok。但在最后一个activity里,会经常出现oom(out of memory),由于在最后一个activity,需要打开一个pdf,然后render,随着multi-touch,reander的pdf页缩放,由于reander的图原创 2012-09-06 17:46:16 · 1735 阅读 · 1 评论 -
Android开发EditText属性
EditText继承关系:View-->TextView-->EditText EditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设置显示在空间上的提示信息android:numeric="integer"//设置只能输入整数,如果是小数则是:decimalandroid:singleLine="true"//设置单行输入,一旦设置为true原创 2012-08-13 15:54:29 · 665 阅读 · 0 评论 -
第一课:高效地加载大Bitmap(位图)
图像可以有各种各样的形状和大小。在很多情况下,它们往往会比典型的应用UI界面所需要的更大。例如,系统的Gallery程序展示使用Android设备的摄像头拍摄的照片的分辨率往往要远高于设备的屏幕密度。 考虑到你所使用的内存有限,理想的情况是你只会想加载一个分辨率相对较低的图片到内存中来。低分辨率版本的图片与相应UI组件的尺寸应该是相匹配的。一张高分辨率的图片并不能带给你任何转载 2012-11-12 16:31:00 · 503 阅读 · 0 评论 -
Android 怎样获得手机信息
Android 怎样获得手机信息1.手机信息查看助手可行性分析 开始进入编写程序前,需要对需求的功能做一些可行性分析,以做到有的放矢,如果有些无法实现的功能,可以尽快调整。 这里分析一下项目需要的功能,主要是信息查看和信息收集,如版本信息、硬件信息等,这些都可以通过读取系统文件或者运行系统命令获取,而像获取安装的软件信息和运行时信息则需要通过API提供的原创 2012-11-30 17:11:55 · 919 阅读 · 0 评论 -
Android 关于手指拖动onScroll、onFling...[gallery]
Android系统自带一个Gallery浏览图片的应用,通过手指拖动时能够非常流畅的显示图片,用户交互和体验都很好。本示例就是通过Gallery和自定义的View,模仿实现一个仿Gallery图像集的图片浏览效果。效果图如下:1、基本原理在 Activity 中实现 OnGestureListener 的接口 onFling() 手势事件,通过自定义的 View 绘制dra原创 2012-12-12 13:18:06 · 2291 阅读 · 0 评论 -
Android Studio 升级3.0 引用不到第三方jar问题
关于这个问题,首先3.0以前gradle中使用的是compile来引入依赖,升级到3.0后studio会自动提示Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.之所以无法调用问题就出现在implementation和api的区别上implementation: ...原创 2019-06-21 23:45:47 · 388 阅读 · 0 评论 -
解决Android Studio编译后安装apk报错:The APK file does not exist on disk
Session 'app': Error Installing APK 问题解决!原创 2017-09-28 12:27:53 · 1263 阅读 · 0 评论 -
Android 的事件分发机制
Android开发多年,但是发现自己总结的东西太少了,所以想通过自己多年来的项目经验写一些,干货和大家一起分享。关于事件分发,用的最多在项目中就是父控件和子控件的事件冲突。那么遇到这个问题怎么处理呢? 我们在一个mainActivity 中加入ViewPager 然后在 ViewPager 填充2个 fragment ,当我我手势滑动到一个fragment时,我们滑动到 上面的广告栏图片时,结原创 2017-07-30 21:58:16 · 269 阅读 · 0 评论 -
推箱子游戏开发(二) 键盘事件监听 角色在屏幕上移动
先看一下效果图。 我们的目标是:通过键盘按键,控制人物在屏幕上自由移动。要实现这个目标,只要完成下面三件事就行:1. 监听键盘,获取按键值 2. 根据按键值,修改人物在屏幕上的坐标 3. 在新的坐标位置显示人物下面是程序的基本框图。 如上图所示:主Activity依次:创建人物、创建键盘监听线程、启动键盘监听线程、显示游戏界面。在游戏界面启动后,游戏原创 2013-01-15 15:32:15 · 1535 阅读 · 1 评论 -
推箱子游戏开发(一) surfaceView 实现动画效果
SurfaceView是View的子类,常用于实现游戏中的动画效果。SurfaceView最大的特点就是:从主线程中,把具体的绘图线程独立出来。这样做的好处在于:当绘图任务比较繁重时,避免主线程的阻塞,从而提高主线程的反应速度。 废话少说,言归正传,下面用几个例子说明surfaceview的使用。(一) 基本功能:用SurfaceView显示一副背景图片。 运行后的效果很原创 2013-01-15 15:30:32 · 1055 阅读 · 0 评论 -
SurfaceView简单使用
SurfaceView简介在一般的情况下,应用程序的View都是在相同的GUI线程中绘制的。这个主应用程序线程同时也用来处理所有的用户交互(例如,按钮单击或者文本输入)。在第8章中,已经学习了如何把容易阻塞的处理移动到后台线程中。遗憾的是,对于一个View的onDraw方法,不能这样做,因为从后台线程修改一个GUI元素会被显式地禁止的。当需要快速地更新View的UI,或者当渲染代码阻塞原创 2013-01-08 17:44:07 · 900 阅读 · 0 评论 -
Androidlistview异步加载图片
写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,比如这位仁兄写的就很好:http://www.iteye.com/topic/685986我也是因为看了这篇文章而受到了启发。先说说这篇文章的优点把,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销。这样做无疑是非常可取的方法,但是转载 2012-12-19 15:55:55 · 664 阅读 · 0 评论 -
android 经典源码库地址
1.百度地图例子: http://download.csdn.net/detail/yizhe25763/44529002.Android 闹钟源码: http://download.csdn.net/detail/yizhe25763/44792703.MySeekBar自定义: http://download.csdn.net/detail/yizhe25763/4486原创 2012-12-26 17:21:16 · 1071 阅读 · 0 评论 -
Android Handler和HandlerThread使用方法
Handler的官方注释如下:A Handler allows you to send and process Message and Runnable objects associated with a thread’sMessageQueue. Each Handler instance is associated with a single thread and that thr原创 2012-12-25 18:05:42 · 721 阅读 · 0 评论 -
Android 内存溢出解决方案(OOM) 整理总结
在最近做的工程中发现加载的图片太多或图片过大时经常出现OOM问题,找网上资料也提供了很多方法,但自己感觉有点乱,特此,今天在不同型号的三款安卓手机上做了测试,因为有效果也有结果,今天做个详细的总结,以供朋友们共同交流学习,也供自己以后在解决OOM问题上有所提高,先来简单讲下下: 一般我们大家在遇到内存问题的时候常用的方式网上也有相关资料,大体如下几种: 一:在内存引用上做些处理,常转载 2012-07-24 11:05:02 · 937 阅读 · 0 评论 -
Android的内存泄漏和调试
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的. 那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以作为有原创 2012-07-24 09:48:22 · 1716 阅读 · 2 评论 -
Android 读取doc文件
在Android中读取doc文件需要用第三方jar包tm-extractors-0.4.jar,读取的过程很简单和普通的文件流操作基本一样,下面写一个简单的例子:package com.word.read;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExc原创 2012-05-07 12:15:16 · 1119 阅读 · 0 评论 -
Rexsee最新版(2.8)发布,支持Android原生UI布局
Rexsee新版发布,新增多个扩展对象,支持Android原生UI布局,通过JS即可实现等同于原生应用的界面展现与交互。相对于使用JQuery Mobile等第三方框架,在执行效率上有显著提升。 新版手册已经更新,点击如下链接下载: 手机在线版手册 手机本地版手册 查看更多开发者资源:http://www.rexsee.com/CN/helpReference.php新增转载 2012-05-04 14:30:00 · 841 阅读 · 0 评论 -
重要资料查询网址
http://developer.android.com/design/get-started/creative-vision.html : google 转为android 提供的ui设计http://www.html5china.com/HTML5features/canvas/20120227_3498.html :领先的国内html5设计网站http://ie.mi原创 2012-05-03 17:33:09 · 523 阅读 · 0 评论 -
Android如何防止apk程序被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难转载 2012-05-03 13:55:30 · 460 阅读 · 0 评论 -
Android 反编译apk
一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zipJD-GUI:http://...原创 2012-05-03 13:51:30 · 552 阅读 · 0 评论 -
android中通过代码实现文件权限修改
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,rw-r--r--用数字表示成644。反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。Android中可用通过adb shell 方法修改文件的权限,有时候我原创 2012-05-02 09:50:55 · 863 阅读 · 1 评论 -
Android自适应屏幕方向、大小和分辨率
屏幕大小1、不同的layout Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的转载 2012-05-02 09:48:55 · 724 阅读 · 0 评论 -
闹钟源码解析
以下是我发现的几点闹钟中重要的点,分享一下: (1)在闹钟中有AudioManager管理机制,这个机制可以申请和释放OnAudioFocusChangeListener监听。还有mTelephonyManager对象,处理在闹钟响的时候,来电铃声的切换。 (2)广播接收闹钟,通过广播启动AlarmKlaxon这个Service,隐式启动se转载 2012-05-02 17:46:36 · 1054 阅读 · 1 评论 -
UI设计技巧
在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果,原创 2012-05-02 14:45:33 · 423 阅读 · 0 评论 -
Wifi个人定位系统的二次革命
相信谷歌纵横Latitude不少朋友已经玩过了,可以让您更方便地查找到他们的位置,更容易地与朋友们交通与沟通。然而,GPS卫星定位的精确度一直不如人意,几十米的误差,足以让您错过重要的约会。如果说GPS卫星定位,是一次科技的进化,那么接下来您看到的Wifi个人定位系统,将是定位的再一次革命。在Wifi个人定位之前,国内的网络运营商曾经推出过AGPS定位,依靠手机基站,进一步提升定位的精度...原创 2011-10-14 12:04:25 · 411 阅读 · 0 评论 -
Apache FtpServer初次使用
Apache FtpServer初次使用Apache FtpServer是一个纯Java编写的Ftp服务器,能够方便的集成到J2EE项目中。采用这种集成方式无需在服务器端配置专门的FTP服务器。至于为什么要采用FTP服务器,是应一些大数据的上传所需。FtpServer集成到Java应用中最简单的方式如下:FtpServerFactory serverFactory =转载 2012-05-09 17:36:40 · 1368 阅读 · 0 评论 -
Android 图片操作(Bitmap)
博客分类:Android /** * 将多个Bitmap合并成一个图片。 * * @param int 将多个图合成多少列 * @param Bitmap... 要合成的图片 * @return */public static Bitmap combineBitmaps(int columns, Bitmap... bitmaps) { if (co原创 2012-05-24 17:53:28 · 2175 阅读 · 1 评论 -
Android 内存问题
有时会发现由于内存不够而导致错误,大都来源于Image太大造成的。下面给出一个简单有效的方法: BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inSampleSize = 4; Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts); 设置原创 2012-05-25 13:25:53 · 1306 阅读 · 0 评论 -
SharedPreferences 详解
SharedPreferences简介在Android开发过程中,有时候我们需要保存一些简单的软件配置等简单数据的信息,而如果我们直接用数据库存储的话又不太方便,在这里我们就可以用到SharedPreferences,SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此保存的数据主要是简单类型的键值对(key-value),它保存的是一个XML文件。Shared原创 2012-07-04 11:03:16 · 1381 阅读 · 0 评论