
重学Android基础
文章平均质量分 80
c苏蔡
“不可能”这个词只有在愚人的字典里才能找得到
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安卓.判断横竖屏的实现
在中添加android:configChanges="orientation|keyboardHidden|screenS"原创 2014-07-10 17:10:16 · 536 阅读 · 0 评论 -
android 存储方式(一) SD卡的存储
在实际的开发过程中,Android提供了五种方式存储数据:1、文件的存储;2、使用sharedpreference进行存储数据;3、SQlite数据库进行存储;4、使用contentProvider进行存储;5、使用网络存储数据JAVA提供了一套完整的IO流体系访问磁盘上的文件内容。Android支持这种访问方式来访问存储设备上的文件。OpenFileOutput和OpenFIleIn原创 2014-12-11 23:01:23 · 760 阅读 · 0 评论 -
android 存储方式(三)SQLiteDatabase
数据库是Android 中常用的功能,这里直接贴出代码:activit_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wi原创 2014-12-23 22:15:40 · 467 阅读 · 0 评论 -
流式布局
自定义ViewGroup需要重写两个方法:(1)onMeasure:测量View的款和高,设置自己的宽和高(2)onLayout:设置子View 的位置onMeasure:根据子View的布局文件,为子View设置测量模式和测量值测量包括:测量模式和测量值;测量模式,有三种情况:1、当设置的容器大小为精确值或者match_parent时,为EXACTLY;2原创 2015-06-08 23:26:59 · 663 阅读 · 1 评论 -
android 存储方式(二) sharedPreferences
sharedPreference是以键值对(key-value)的形式进行存储的,它在应用中主要用来存储一些设置相关的信息参数。基本用法:SharedPreference preference = Context.getSharePreference("存储的文件名称",Context.MODE_PRIVATE);通过SharedPreference.edit方法获得一个Editor对原创 2014-12-11 23:36:27 · 575 阅读 · 0 评论 -
Android 内部存储和Cache简单介绍
Internal Storage你可以直接向内部存储空间写入数据,默认情况下,保存在内部存储的文件是私有化的而其他应用无法进行访问。当你进行了卸载应用,这些文件将被删除。 创建并写入数据到私有化内部存储: 1、调用openFileOutput()并通过参数文件名和运行模式获取FileOutputStream; 2、通过write()写入数据; 3、通过close()关闭IO流。原创 2016-06-17 13:11:30 · 2430 阅读 · 0 评论 -
Android 属性动画
Android最简单的属性动画是TranslateAnimation。这样使用:我们假设已经有一个ImageView,控件当然可以自由选取。来看第一个:1、 TranslateAnimation animation = new TranslateAnimation(0, 200, 0, 0); animation.setDuration(1000); Im原创 2015-09-10 21:57:15 · 453 阅读 · 0 评论 -
android文件存储
内部存储和外部存储原创 2016-08-31 13:00:32 · 811 阅读 · 0 评论 -
SurfaceView实现动画
自定义view存在如下缺陷:>缺乏双缓冲机制;>程序更新View上的图像时,必须重绘View上的整张图片;>新线程无法直接更新View组件。所以,在一些场景下使用自定义View效果并不好。而SurfaceView代替View便是一种很好的替代方案,一般更为推荐使用。SurfaceView一般会与SurfaceHolder结合使用,SurfaceHolder用于向与之关联的Surface原创 2015-01-07 21:49:03 · 537 阅读 · 0 评论 -
补间(Tween)动画
这种动画类似于Flash。补间动画的定义是动画的开始、结束的关键帧,你只需要定义关键的这两帧就可以了。Android使用animation代表抽象的动画类,它包括以下几个子类:alphaAnimation:透明度改变的动画,变化值从0到1;ScaleAnimation:大小缩放的动画;TranScaleAnimation:位移变化的动画;RotateAnimation:旋转动画;原创 2015-01-06 22:37:29 · 435 阅读 · 0 评论 -
逐帧(Frame)动画
逐帧动画通常也是采用XML资源文件进行定义的。逐帧动画非常简单,只需要在元素中使用子元素定义动画的全部帧,并制定没帧的持续时间即可。这个文件的定义路径在res文件夹下的anim文件中(当然这个文件通常是需要你自己去创建的)。这个文件的格式如下:<animation-list xmlns:android="http://schemas.android.com/apk/res/android原创 2015-01-06 21:52:26 · 532 阅读 · 0 评论 -
图形处理 使用drawBitmapMesh扭曲图像
Canvas提供了一个drawBitmapMesh(Bitmap bitmap,int meshWidth, int meshHeight, float[] verts, int vertOffset , int[] colors, int colorOffset, Paint paint)方法,该方法可以对bitmap进行扭曲。比如你可以实现“水波荡漾”、“风吹旗帜”等扭曲效果。 该方法的原创 2015-01-05 22:49:05 · 1131 阅读 · 0 评论 -
Notification微
当系统在不想妨碍操作的情况下通知用户,可以使用原创 2014-11-12 15:30:47 · 360 阅读 · 0 评论 -
点击返回键两次退出程序
不得不说这是一个简单而常用的功能。//关键代码,需要一个时间定时器private static boolean isExit = false; public void exitJudged(){ Timer timer = null; if(false == isExit){ isExit = true; Toast.makeText(getApplicationCon原创 2014-08-25 17:42:41 · 422 阅读 · 0 评论 -
增加手势和识别手势
gestureoverlayview组件是Android提供给开发者所使用的控件,但是这个原创 2014-09-05 15:41:52 · 579 阅读 · 0 评论 -
listview 和scrollview冲突问题
在使用scrollview和listview的时候,通常情况下会出现listview中的内容只会显示一个到两个的数据,原因是两者在一块使用的时候会出现冲突问题。解决方法如下:JAVA代码:publicclass MainActivity extends Activity { ListView listView; Adapter adapter = new Adapte转载 2014-08-25 17:29:00 · 462 阅读 · 0 评论 -
GPS获取地理位置
首先将通过GPS获取地理位置的权限添加到manifest中:"android.permission.ACCESS_FINE_LOCATION"/>支持GPS的核心API:locationmanager,locationprovider,location。核心代码:LocationManager lManager;…..lManager = (LocationManager) g原创 2014-08-25 17:45:51 · 1169 阅读 · 0 评论 -
listview分页效果
一般情况下,如果要加载的数据比较原创 2014-08-26 11:17:12 · 640 阅读 · 0 评论 -
将字符串组合成json
设置jsonobject实体对象JSONObject ClinetKey = new JSONObject(); try {//向JSONobject中放入数据,其实在这里放入数据的顺序可能在得到的JSON数据每个数据的顺序是不一样的,但是JSON对顺序没有要求 ClinetKey.put("dev_sn", str原创 2014-08-25 17:20:59 · 1777 阅读 · 0 评论 -
双击事件的简单实现
双击屏幕处理事件;先写原创 2014-09-12 16:48:14 · 497 阅读 · 0 评论 -
判断程序是否第一次运行
在Android中,在应用第一次启动或者应用的新版本的第一次启动的时候,为了判断应用是首次启动应用程序,最简单的方法,就是:1、从manifest中读取到android:versionCode,2、然后将其与preference中的versioncode做比较,3、当preference中的versioncode小于manifest中的版本号时,则代表此次启动为该版本的首次转载 2014-09-05 16:23:52 · 883 阅读 · 0 评论 -
获取设备的部分信息
获取系统部分信息importjava.util.UUID;importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.telephony.TelephonyManager;importandroid.view.Menu;importandro原创 2014-08-25 17:48:16 · 404 阅读 · 0 评论 -
android 设备分辨率
android中dip、dp、px、sp和屏幕密度1. dip: device independent pixels(设备独立像素).不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA推荐使用这 这个,不依赖像素。 这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示转载 2014-08-25 17:43:26 · 584 阅读 · 0 评论 -
spinner的简单使用
只要不想让spinner在xml文件中写死,下列JAVA代码便是另一种方式:// 找到Xml中定义的下拉列表 Spinner spinner = (Spinner) findViewById(R.id.spinner); // 准备一个数组适配器 ArrayAdapter adapter = ArrayAdapter.createFromResource( MainActi原创 2014-08-25 17:35:16 · 588 阅读 · 0 评论 -
POST数据
一、需要用到的场景在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。二、需要用到的主要类在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils三、主要思路1、创建HttpPost实例,设置需要请求服务器的url。转载 2014-08-25 17:22:08 · 498 阅读 · 0 评论 -
webview自适应屏幕
在用webview的时候有可能偶尔会出现加载的页面大于屏幕,转载 2014-08-25 10:30:47 · 707 阅读 · 0 评论 -
防止反编译简单做法
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代转载 2014-09-09 13:31:39 · 719 阅读 · 0 评论 -
ExpandableListView的简单代码示例
private List groupArray; private List> childArray; public class ExpandableAdapter extends BaseExpandableListAdapter { Activity activity; public ExpandableAdapter(Activity a) { activity = a原创 2014-10-24 10:41:38 · 436 阅读 · 0 评论