04 2012 档案
摘要:Android多点触控在本质上需要LCD驱动和程序本身设计上支持,目前市面上HTC、Motorola和Samsung等知名厂商只要使用 电容屏触控原理的手机均可以支持多点触控Multitouch技术,对于网页缩放、手势操作上有更好的用户体验。 在Android平台上事件均使用了MotionEvent对象方式处理,比如开始触控时会触发ACTION_DOWN而移动操作时为 ACTION_MOVE最终放开手指时触发ACTION_UP事件。当然还有用户无规则的操作可能触发ACTION_CANCEL这个动作。 首先提醒大家多点触控需要LCD驱动和应用软件两个支持才能实现,所以部分比较老的,比如Andro
阅读全文
摘要:在XML中布局时,我们自定义的View的触摸原点在哪??这又是一个问题啊,学习的过程就是不断发现问题,解决问题的过程。呵呵,相信大家都是深有体会吧,这次我们研究View的触摸原点问题。下面是核心代码: /** *定义手势识别 **/ GestureDetector mGestureDetector; /** *注册手势识别,当然这个要在构造里初始化一下 **/ publicvoid myEvent(){ mGestureDetector = new GestureDetector( new GestureDetector.SimpleOnGestureListener(){ publicboo
阅读全文
摘要:我们自定义了View,但是有没想过一个问题,就是View中的(0,0)坐标,也就是原点坐标在哪??我们是不是有时候很困惑,接下来我们就来研究View中的原点坐标相关的问题。一、new HelloView时View的原点我们通过从View中绘制一条从原点到右下角的线来看看这个View中的原点和这个View的宽和高。这里我们从onDraw(Canvas canvas)中绘制,下面给出核心代码。HelloView.java /** * 初始化绘制线的画笔 * */ public void initLinePaint(){ linePaint = new Paint(); // 设置画笔 linePa
阅读全文
摘要:说了这么多,那View的大小是多少呢?这小节我就研究下View的大小。通过LogCat来研究View的大小是怎样确定的。好了,直接切入正题吧.一、 在Activity中直接new HelloView 时View的大小。View的大小获取可以用其中的两种方法获取: this.getHeight():获取View的高this.getWidth():获取View的宽我们可以做一个猜想,View的大小是在什么时候确定的,是在new一个View的时候还是在onDraw()的时候?还是在其他时候?为了研究这个,我们分别在构造函数和onDraw中打上Log补丁(这个只是个人习惯的称呼)。--- >He
阅读全文
摘要:如果在一直使用SetContentView(new HellwView(this)感觉总是少了一点东西,少了什么了,失去了Android中使用XML定义组件的方便性性,这种感觉让人很不爽,呵呵,在这节里我们会看到一个自定义View报错的解决方法,让我们来看看在XML中定义View吧一、在XML中定义View的一个小错误我们试着直接将错误的那个例子写出来将上一讲的View例子拿出来,修改main布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=&quo
阅读全文
摘要:是不是开始摩拳擦掌了,哈哈,有感觉了吧,有感觉了就加油,开始下一步学习,一步一步始终会学到东西,这章不解释,上面有完整注释一、 使用BitmapFactory解析图片// --> 使用BitmapFactory解析图片 public void myUseBitmapFactory(Canvas canvas){ // 定义画笔 Paint paint = new Paint(); // 获取资源流 Resources rec = getResources(); InputStream in = rec.openRawResource(R.drawable.haha); // 设置图片 B
阅读全文
摘要:既然使用onDraw可以绘制为蓝色背景,那我们是不是可以干一些坏事了,哈哈。。。。。 不过干坏事之前要记得先学习学习graphics里面的一些知识。一、基础预备知识1、Canvas--画板 Canvas是一个大大的画板,这个画板有多大,就看Android系统能支持多大的Canvas了,以后慢慢就会体会到这个Canvas到底有多大,不过原理上:Canvas是无穷大的 2、Paint--画笔 有画板没有画笔怎么能行了,没错Paint就是画笔。掌管Android王国中的所有画笔,只要和Canvas打交道,没有画笔是万万不行的。。。。。。 3、Color--颜色 在这个设计的世界里,没有颜色掌管各种.
阅读全文
摘要:又翻开一个新篇章了,哈哈,上一回学习的是继承View,关于继承View个人感觉不是那么完美,做技术的总是想让一切完美,但世界上本就没有完美,由他吧。这回研究的是ViewGroup。说实话,个人感觉这个类的功能还是很强大的,这里我们只给出最基本的东西,好了,继续开始研究吧,,路漫漫其修远兮,吾将上下而求索。一、ViewGroup概述研究ViewGroup之前,我们先来看看ViewGroup的介绍:/*** A ViewGroup is a special view that can contain other views* (called children.) The view group is
阅读全文
摘要:一。也許很多童鞋對getWidth()和 getMeasuredWidth()的用法有很多的不解,這兩者之間有什麼樣的不同呢,網上也有各種不同的版本,但大多數都大同小異,從這個地方 Ctrl+C,到另一個地方Ctrl+V,沒有把問題說透,也有一部分文章誤導了大家對這兩個方法的認識,我也是深受其害。這裡先糾正下面的一個版本的說 法,Baidu上一搜一大堆的,可惜這種說法是錯的,所以希望大家就不要再盲目的轉載到你的空間裡: getWidth得到是某个view的实际尺寸. getMeasuredWidth是得到某view想要在parent view里面占的大小.想必你也見過這樣的解釋,聽起來這樣的解
阅读全文
摘要:是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。
阅读全文
摘要:PendingIntent是指把Intent包装了一层, 并且把PendingIntent放入一个新的进程. 通过触发事件去触发这个PendingIntent. 创建PendingIntent方法.1. getActivity(Context context, int requestCode, Intent intent, int flags)2. getBroadcast(Context context, int requestCode, Intent intent, int flags)3. getService(Context context, int requestCode, Inte
阅读全文
摘要:Android Intent和Intent Filter详解(一)Intents and Intent Filters Intent Objects Intent对象 Intent Resolution Intent解析 Intent filters Filters and security Filter和安全 Common cases 常见情况 Using intent matching 使用intent匹配 Note Pad Example 例子:记事本 Intents and Intent Filters 三种应用程序基本组件——activity,s...
阅读全文
摘要:见证过博客园的多次升级,你也希望你的软件通过更新发布新特性通知用户吧,是的。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.设计思路,使用VersionCode定义为版本升级参数。 android为我们定义版本提供了2个属性:?1234<manifest package="com.cnblogs.tianxia.subway"android:versionCode="1" <!--Integer类型,系统不显示给用户-->android:versionName="1.0"
阅读全文
摘要:1.首先找到debug keystore位置: 打开Eclipse--->Windows--->Preferences--->Android--->Build一般是这样的路径 C:\Documents and Settings\Administrator\.android\debug.keystore2.在cmd中执行keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator\.android\debug.keystore" -stor
阅读全文
摘要:结合网络上的一些网志,终于完成了第一个eclipse的c程序:HelloWorld!为了简单方便入门,建议直接到eclipse官方网站上下载eclipse for c c++的集成开发版本。(当然,如果你现在已经有eclipse了,也可以使用插件的方式,将CDT插入到eclipse中,本人认为这样的 话,eclipse功能太多了,即要开发java又要开发c c++,势必会使得启动或运行速度变慢。)首先声明是在Windows下,当然在linux下使用eclipse开发c c++也是相当不错的选择。总共分为2步:1.下载http://www.eclipse.org/downloads/, 下载:
阅读全文
摘要:如何给MapView申请个apiKey2010-12-27 10:24打开Eclipse--->Windows--->Preferences--->Android--->Build查看默认的debug keystore位置,我的是C:\Documents and Settings\hackang\Local Settings\Application Data\Android\debug.keystore在cmd中执行keytool -list -alias androiddebugkey -keystore "C:\Documents andSettings\
阅读全文
摘要:Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Machine)来执行。VM在Android平台里,扮演很重要的角色。 此外,在执行Java类的过程中,如果Java类
阅读全文
摘要:System可以有对标准输入,标准输出,错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。System.getProperties()可以确定当前的系统属性,返回值是一个Properties;System.load(String filename)等同于:System.getProperties().load(String filename)它们的作用是可以从作为动态库德本地文件系统中指定的文件名加载代码文件。System.setProperties(Properties propes):将系统属性设置为Properties参数;System
阅读全文
摘要:/** * 测试ConnectivityManager ConnectivityManager主要管理和网络连接相关的操作 * 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。 * 想访问网络状态,首先得添加权限<uses-permission * android:name="android.permission.ACCESS_NETWORK_STATE"/> * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的Stat
阅读全文
摘要:android 地图服务开发 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误解决地图服务开发中遇到此类错误大体分为以下两种情况解决:(论坛里大多都是属于第一种情况的答案,但是遇到第二种情况论坛的解决基本无效)。情况一:如果你用模拟器调试程序 首先检查AndroidManifest.xml,确保已经写了<uses-library android:name=”com.google.android.maps” />其次确保你新建工程的时候 Build Target 选择的TargetName不是Android 而是其版本对应的Google APIs。最后
阅读全文
摘要:分类: Android开发2010-02-25 14:15 4063人阅读 评论(2) 收藏 举报很简单,在startActivity后,调用overridePendingTransition方法,例如,实现淡入淡出的效果如下:view plainIntent i = new Intent(StartActivity.this,MainTab.class); StartActivity.this.startActivity(i); overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out); 由左向右滑入的
阅读全文
摘要:一.你要打开一个网页你可以自己写一个webview,在自己的程序中就可以打开.wv = (WebView) findViewById(R.id.webView1);wv.getSettings().setJavaScriptEnabled(true);wv.setScrollBarStyle(0);WebSettings webSettings = wv.getSettings();webSettings.setAllowFileAccess(true);webSettings.setBuiltInZoomControls(true);wv.loadUrl("http://www.b
阅读全文
摘要:解决方案:检查在AndroidManifest.xml里package路径是否正确,android:name=".xxx"是否正确 还极有可能是没有添加附加的library(在地图开发中) <uses-library android:name="com.google.android.maps" /> 在Manifest中添加文件的位置规则: <?xml version="1.0" encoding="utf-8"?> <manifest> <uses-permission
阅读全文