- 博客(40)
- 资源 (22)
- 收藏
- 关注
原创 解决fragment+viewpager第二次进入的时候没有数据的问题
为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notif
2014-09-26 15:08:21 1204
转载 Android数据库高手秘籍(三)——使用LitePal升级表
在上一篇文章中,我们学习了LitePal的基本用法,体验了使用框架来进行创建表操作的便利。然而大家都知道,创建表只是数据库操作中最基本的一步而已,我们在一开始创建的表结构,随着需求的变更,到了后期是极有可能需要修改的。因此,升级表的操作对于任何一个项目也是至关重要的,那么今天我们就一起来学习一下,在Android传统开发当中升级表的方式,以及使用LitePal来进行升级表操作的用法。如果你还没有看
2014-09-25 14:36:59 2948 3
转载 Android运行时ART简要介绍
Android在4.4就已推出新运行时ART,准备替代用了有些时日的Dalvik。不过当时尚属测试版,主角仍是Dalvik。 直到今年的Google I/O大会,ART才正式取代Dalvik。这个消息在科技界引起不小轰动,也吸引不少技术人员对它的“技术分析”。可惜这些“技术分析”不过是引用了官方的数据和图表而已。这一系列文章将对ART进行真正的技术分析。老规矩,分析前先进行简要介绍和制定学习计划。
2014-09-23 20:40:33 955
转载 Java——同步
在多线程程序中,同步修饰符用来控制对临界区代码的访问。其中一种方式是用synchronized关键字来保证代码的线程安全性。在Java中,synchronized修饰的代码块或方法不会被多个线程并发访问。它强制要求线程在进入一个方法之前获得一个锁,在离开方法时释放该锁。它保证了在同一时刻只有一个线程能执行被其修饰的方法。如果我们把一个方法或代码块定义为同步的,就意味着在同一个对象中,只会有
2014-09-23 20:22:05 647
转载 NDK安装教程转载三篇
一、转自:http://www.dovemoon.com/479.html如何安装NDK环境到Eclipse中 在Android的游戏开发中,你迟早会发现有必要把部分代码跑得更快。用C写的Android代码比同样的Java版本,快上10~100倍。我可以证实这个事实,在我最新的3D游戏引擎中,我把部分组件用原生程序(即用C/C++写代码,编译成
2014-09-19 10:14:40 732
转载 JNI学习之步步深入四--皇后的祝福
上篇中简单介绍了,java中的类型和C中的类型的映射的,本篇将以一个无聊的实例来看看JNI中数组的使用。 皇后的祝福,思路很简单,就是利用我们耳熟能详的把皇后问题结合JNI来实现一点点小小的乐趣,在快乐中学习JNI。。。。 1、用C语言实现八皇后的算法,我们知道八皇后有92种解,每种解是一个数据,对应这当前这组解中八个皇后的位置。 2、在java中通
2014-09-19 08:50:51 833
转载 JNI学习之步步深入三
上一篇中,学习了jni中的类型映射关系。本篇就一个简单点的实例来看看java端的类型,如何被C端识别。同时,在C端实现定义的一个类型如何传递到java端。本篇以String类型为例,看看java端的unicode编码的String类型如何和C端utf-8编码的char*类型进行交互! 1、首先,在java端写一个Prompt类:其中定义一个get
2014-09-19 08:48:22 581
转载 JNI学习之步步深入二
JNI为了扮演在c/c++和java之间的匹配工作,它首先需要做的就是既要认识java中的数据类型,也要认识c/c++中的数据类型。这时,jni就相当于一个适配者了。好比,A与C两个人本来不认识,可是现在B认识A,B也认识C,那么通过C的指引和介绍,A和C就认识了! 那么jni如何做到既认识C/C++,也认识java呢?其实很简单,一张匹配表足矣,见图!
2014-09-18 17:23:03 580
转载 JNI学习之步步深入一
从接触Android的一段时间后,就经常听到JNI这个东东,刚开始,不知是由于对新事物的排斥,还是根本不把它当成一回事,就没有特地地去理他。只是在活跃的社区中零零散散地看到JNI的身影,大致知道所谓的JNI,就是一种不纯的JAVA编程技术,还需要把C/C++给扯进来。这下好了,看到需要C/C++,立马想到的是,有多远离多远。倒不是因为C/C++做过神马恐怖的勾当,而是本人C/C++技艺不精。自此,
2014-09-18 17:22:07 604
转载 Android JNI学习之NDK_r5的使用简记(和r4之前有点区别)
自NDK r4版本后,不再需要在apps目录下建立工程了,也不再使用make APP=工程名方式来编译生成.so本地库了。 在NDK r4版本后,使用的是ndk安装目录下的ndk-build脚本来实现编译。关于ndk-build的使用,文档中说是,在cygwin中进入项目的所在路径,然后使用$NDK/ndk-build来实现编译。 注意到上面使用了$NDK,这是ND
2014-09-18 17:21:09 595
转载 Android JNI学习之第一个入门实例
关于如何安装配置Cygwin,如何安装ndk网上搜搜一大片,这里不再赘述。下面主要对这个简单的JNI实例的实现,做一个记录。 注意:使用的是ndk-1.6.r1,在ndk_r4版本后和这有点区别,这里说明下。 1、在ndk安装目录的apps下建立一个工程文件夹JniDemo,在该文件夹下建立一个project文件夹,和一个Application.mk文件。
2014-09-18 17:20:28 548
转载 Android JNI学习之javah命令的正确使用
按照网上抄来的javah用法一般出错,今天查了一下午在一篇文章(http://www.ibm.com/developerworks/cn/java/j-jtctips/part6/index2.html) 中看到:“Javah 获取您的 Java 源文件并生成 C 头文件,其中包含您的 Java 代码中所有本机方法的 JNI 存根(stub)。如果您正在生成一个类的 JNI 存根,而且您已经把
2014-09-18 17:17:28 622
转载 Android多媒体学习十五:使用在内置的Camera录制视频
使用Android自带的Camera应用来录制视频也很简单。直接指定一个ACTION_VIDEO_CAPTURE的Action就可以了,和Image类似 代码: [java] view plaincopypackage demo.camera; import android.app.Activity; im
2014-09-18 16:48:35 758
转载 Android多媒体学习十四:播放网络上的视频
Android支持播放网络上的视频。在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。这两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持。 Android中自带的播放器,以及VideoView等都支持上述两种协议,因此,可以直接播放网络上的视频,唯一不同的就是URI。 代码如下:
2014-09-18 16:45:24 825
转载 Android多媒体学习十二:Android中Video的三种播放方式的实现
在Android中,我们有三种方式来实现视频的播放。 1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。 2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。 3、使用MediaPlayer类和SurfaceView来实现。这
2014-09-18 16:44:43 930
转载 Android多媒体学习十三:检索MediaStore中的Video和其对应的缩略图信息
和Image,Audio一样,在Android中,Video信息也被MediaStore管理着。 和每个视频对应的有其一个缩略图,这个缩略图往往是其第一帧的图像。 下面看代码: [java] view plaincopypackage demo.camera; import java.util.A
2014-09-18 16:43:55 795
转载 Android多媒体学习十一:实现仿百度图片查看功能
我们知道,进入百度图片后,输入一个关键字后,首先看到的是很多缩略图,当我们点击某张缩略图时,我们就可以进入到大图显示页面,在大图显示页面,中包含了一个图片画廊,同时当前大图为刚刚我们点击的那张图片。现在我们看看在Android中如何实现类似的效果: 首先,我们需要有一个控件来显示缩略图,这里没有什么比GridView更加合适了。 配置文件如下:
2014-09-18 16:43:42 893
转载 Android多媒体学习十:利用AudioRecord类实现自己的音频录制程序
AudioRecord类相对于MediaRecorder来说,更加接近底层,为我们封装的方法也更少。然而实现一个AudioRecord的音频录制程序也很简单。本实例代码如下: 可惜,本实例测试时有个问题,在录制的时候,会出现buffer over。缓存泄露,待解决。 [java] view plaincopy
2014-09-18 16:42:47 1013
转载 Android多媒体学习九:利用MediaRecorder类实现自己的音频录制程序
在上一篇中,我们在代码中有[java] view plaincopycase R.id.btn2: //通过MediaRecorder类来实现自己的音频录制程序 Intent intent2 = new Intent(); intent2.setClass(this, MyAudioRecord.cl
2014-09-18 16:41:49 850
转载 Android多媒体学习八:调用Android自带的音频录制程序,实现录制
Android中有自带的音频录制程序,我们可以通过指定一个Action为MediaStore.Audio.Media.RECORD_SOUND_ACTION的Intent来启动它就可以了。然后在onActivityResult()方法中,获取Intent的Data,就是录制的音频对应的URI。 代码: [java] view plainc
2014-09-18 16:39:45 713
转载 Android多媒体学习七:访问网络上的Audio对应的M3U文件,实现网络音频流的播放
Android中提供了对网络上流媒体的支持,我们可以使用MediaPlayer类来播放一个网络上的音频文件。但是网络上的站点并不建议我们直接访问流,我们需要获取他提供的M3U文件,根据M3U文件来实现流的获取。M3U是音频流地址索引文件,相当于播放列表。 本文通过实例演示,Android中如何访问网络上的M3U文件,实现网络音频文件的播放。 本文包含
2014-09-18 16:37:09 1635
转载 Android多媒体学习六:利用Service实现背景音乐的播放
Android允许我们使用Service组件来完成后台任务,这些任务的允许不会影响到用户其他的交互。 1、Activity类[java] view plaincopypackage demo.camera; import android.app.Activity; import android.content.Co
2014-09-18 16:36:07 1899
转载 Android多媒体学习五:调用Android自带的播放器播放Audio
Android有其自带的播放器,我们可以使用隐式Intent来调用它:通过传入一个Action为ACTION_VIEW同时,指定Data为所要播放的Audio的Uri对象,并指定格式信息,则我们就可以调用播放器来播放该Audio了。Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri, Mi
2014-09-18 16:35:02 1641
转载 Android多媒体学习三:实现自己的Camera
Android自带的Camera应用虽然可以满足大多数情景,但是其灵活性上还有不足。但是Android允许我们定制自己的Camera。在Android的hardware包中有一个Camera类。这个类就是获取Camera服务的,可以定制Camera等。可以通过open()方法获取其实例。在使用这个类是需要在AndroidManifest.xml文件中加入相应的权限和特性
2014-09-18 16:10:01 657
转载 Android多媒体学习四:实现图像的编辑和合成
闲话少说,全在注释中: [java] view plaincopypackage demo.camera; import java.io.FileNotFoundException; import android.app.Activity; import android.content.Intent; impo
2014-09-18 16:10:01 866
转载 Android多媒体学习二:检索Android的图片库,并显示
这里有个问题需要注意,如果你在模拟器已经启动的情况下,push了几张图片到SDCard中,建议将模拟器关了,再重新启动一下,否则,刚刚添加的图片,是没有办法获取到的。这是因为Android是在系统启动的时候来扫描模拟器上SDCard中多媒体文件的。 闲话少说,看代码: [java] view plaincopy
2014-09-18 16:09:00 773
转载 Android多媒体学习一:Android中Image的简单实例。
在多媒体应用中,Image是最基础的功能模块,接下来我们将看看在Android中是如何获取和存储Image的。Android内嵌的Image获取和存储功能,可以让我们对于整个媒体框架有个比较全面的了解,同时为audio和video的学习打下基础。一、Image的获取可以通过调Android自带的Camera应用来完成。该应用含有一个Intent-Filter。通过使用Intent inte
2014-09-18 16:06:38 1069
转载 Android数据库-开源LitePal (二)
上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的。但是我们都知道,数据库是要和程序结合在一起使用的,单独对一个数据库去进行増删改查操作并没有什么意义,因此今天我们就来学习一下如何在Android程序当中去操作SQLite数据库。操作数据库的第一步当然是创建表了,传统创建表的方法相信大多数人都知道,那么今天我除了会展示传统
2014-09-15 14:47:06 25348 7
原创 Android数据库(一)
要想熟练地操作任何一个数据库,最最基本的要求就是要懂SQL语言,这也是每个程序员都应该掌握的技能。虽说SQL博大精深,要想精通确实很难,但最基本的一些建表命令,增删改查,大家还是必须要学会的。SQL(Structured Query Language)是一种标准的数据库查询语言,即所有的关系型数据库都会支持它,只不过每种数据库对SQL语言的支持与标准存在着细微的不同。我们无须关心其它数据库
2014-09-15 14:44:40 3643 2
转载 android studio使用说明
Android Studio使用说明 Android Studio。Google在5月15日的I/O大会推出的一款Android APP开发软件,公开推出此软件大有使用它取代Eclipse+ADT的开发方式。下面结合我的使用&理解给大家介绍一个简单的使用,通过此说明一般的应用是可以平滑过渡到使用Android Studio开发的。说明包裹一下几个部分,安装、首页简介、部分配置项
2014-09-11 15:13:32 7546
转载 Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法
Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x)下默认只能支持iOS6.0及以上版本的模拟器进行开发和调试,在此条件之下的版本只能使用硬件设备进行开发调试。虽然现在低版本的iOS设备越来越少了,但是有时客户的需求可能会要求我们一定要兼容iOS5(
2014-09-10 17:16:10 651
原创 iOS之nil、Nil、NULL、NSNull的区别
nil、Nil、NULL、NSNull的区别nil:指向一个对象的空指针Nil:指向一个类的空指针NULL:指向其他类型(如:基本类型、C类型)的空指针NSNull:通常表示集合中的空值举例:NSURL *url = nil;Class class = Nil;int *pointerInt = NULL;
2014-09-09 14:29:49 699
原创 Android 4.0的图形硬件加速及绘制技巧(4)
4 Android 4.0提示和技巧切换到硬件加速2D图形可以立即增强表现,但是你还是需要通过如下的建议来设计你的应用程序来更有效率的使用GPU。4.1 减少你程序中使用View的数量你系统中画的view的数量越多,你的程序就会越慢,在软件绘制的流程也是一样的,减少view的数量是优化你UI的一个最简单的方法。4.2 避免过多绘制不要过多的叠加层,当一个Vi
2014-09-09 14:09:00 648
原创 Android 4.0的图形硬件加速及绘制技巧(3)
3.Android 4.0 View的层3.1层的分类所有的Android版本都有能力对离屏缓冲进行渲染,或者是使用View的绘制缓冲,或者是使用Canvas.saveLayer()函数。离屏缓冲或者Layer能够有很多种应用,例如能使处理复杂view的动画效果或者应用一些合成效果都有更好地表现。例如你可以通过Canvas.saveLayer()的方式来对View做一个渐入渐出效果
2014-09-09 14:07:36 693
原创 Android 4.0的图形硬件加速及绘制技巧(2)
2.Android 4.0的绘制模型当开启了硬件加速,Android框架将会使用一种新的绘制模型,这种模型将会使用显示列表把你的应用显示到屏幕上。要完全理解显示列表和他们如何影响你的应用程序,理解Android 4.0如何在非硬件加速的情况下如何绘制Views是很有必要的,下面将分别介绍软件加速和硬件加速。2.1基于软件的绘制模型在基于软件绘制模型中,View的绘制遵循以下
2014-09-09 14:06:59 766
原创 Android 4.0的图形硬件加速及绘制技巧(1)
从Android 3.0开始,Android 2D的绘制流程就设计为能够更好地支持硬件加速。使用GPU的View在Canvas上进行画的操作时都会使用硬件加速。在最新的Android版本里,图形硬件加速及绘制技巧得到了更好的提升。
2014-09-09 14:05:06 820
原创 Activity中获取view的高和宽为0时的解决方法
在activity中可以调用View.getWidth、View.getHeight()、View.getMeasuredWidth() 、View.getgetMeasuredHeight()来获得某个view的宽度或高度,但是在onCreate()、onStrart()、onResume()方法中会返回0,这是应为当前activity所代表的界面还没显示出来没有添加到WindowPhone的D
2014-09-03 15:47:42 797
原创 常量指针与指针常量的区别
三个名词虽然非常绕嘴,不过说的非常准确。用中国话的语义分析就可以很方便地把三个概念区分开。一) 常量指针。常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。指针指向的对象是常量,那么这个对象不能被更改。在C/C++中,常量指针是这样声明的:1)const int *p
2014-09-02 13:06:14 568
android中shape的使用
2014-11-12
rational rose 教程
2011-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人