随笔分类 - android
摘要:转自:http://460230379.diandian.com/post/2011-08-16/3966668 在开发Android平台的互联网应用时,经常会使用到WebView,好处主要有两个,一是可以更改要展现的内容(包括样式),二是可以实现部分功能的跨平台。 Android的WebView组件使用非常简单,可以使用loadUrl()加载一个Url地址,也可以使用loadData()或loadDataWithBaseURL()加载一段HTML代码片段。loadUrl()的使用大家应该都没有什么问题,但是loadData()和loadDataWithBaseURL()在使用上的差异可...
阅读全文
摘要:http://www.cnblogs.com/Ashia/archive/2012/03/09/2386073.html今天彻底被 json 伤到了03-08 13:45:44.648: W/System.err(14432): org.json.JSONException: Value of type java.lang.String cannot be converted to JSONArray该异常有 json 文件编码所引起的,所以切切不要应用 记事本 编辑 json 文件,而应选择其他文本编辑器,如 EditPlus ,并重视保存编码格局为 UTF-8,不然可能产生中文乱码。用记事
阅读全文
摘要:应用场景:对于我们自己开发的两个应用程序,一个应用程序的包名为 aa.bb.cc,软件名叫a,它的入口Activity为 aaActivity(入口activity就是在AndroidManifest.xml中标签——<action android:name="android.intent.action.MAIN" />所在的activity,说白了,就是打开应用程序,第一个显示的activity),另一个应用程序的包名为 xx.yy.zz,软件名叫x,它的入口Activity为 xxActivity。 网上的通用做法如下(这里我假设a中有一个Button,这个
阅读全文
摘要:http://dev.10086.cn/cmdn/wiki/index.php?edition-view-4133-1.html在Android安装卸载程序的源码中我们知道:Java代码<activityandroid:name=".PackageInstallerActivity"> <intent-filter> <actionandroid:name="android.intent.action.VIEW"/> <categoryandroid:name="android.intent.categ
阅读全文
摘要:http://blog.csdn.net/andy_android/article/details/6966073 Android Launcher全面剖析首先来说说我为什么写这篇文章,最近公司要我负责搞Launcher,网上一查这方面的资料比较少,并且不全,研究起来相当困难,所以就写了这篇文章,希望对大家有帮助。这篇文章是相当长的,希望读者能耐心读下去,实际上也花了我很长时间来写。好了闲话少说,我们切入正题。 这篇文章我会讲以下Launcher内容: Launcher UI总体架构 Launcher Res下的Layout Launcher Res下的Xml文件 L...
阅读全文
摘要:现象:“.c”后缀名改为“.cpp”时java调用native失败。解决:加入“extern "C"”。现象:“error: base operand of '->' has non-pointer type '_JNIEnv'”错误。解决:将“(*env)->NewStringUTF(env, "HelloWorld from JNI !");”改为“env->NewStringUTF("HelloWorld from JNI !")”。例子:Cpp代码#include<std
阅读全文
摘要:1 基础知识点① JNI:Java native interface② Android中调用JNI:static //static区声明的代码会先于onCreate方法执行{System.loadLibrary("HelloWorld");//加载,完整的名字是lib HelloWorld.so}private native String Hello(); //有 native 关键字2 JNI开发基本步骤①编写.java类②生成.class文件③生成.h文件③查阅.h文件 JNIEXPORT 和 JNICALL 是jni的宏 函数前的注释Signature: ()Ljav
阅读全文
摘要:3.1多了三个大包android.hardware.usb、android.mtp、 android.net.rtp !USB、mtp、rtp-------三个字眼,各个血淋淋,让人悲喜交加,Google你为何不早点发?android.mtp让连接的camera和其他设备,直接使用PTP(图像传输协议)的MTP(媒体传输协议)。保持设备连接,上层app可以接收到通知,取消,管理这些设备的文件和存储,文件的传输和元数据等。它为我们提供了定义PTP和MTP的MtpConstants,描述USB host总线上连接的PTP或MTP设备的MtpDevice,封装MTP设备信息的MtpDeviceInf
阅读全文
摘要:在android联系人界面,点击添加头像后可以选择一个图像的部分区域来作为头像。查看了一下代码,模仿着写了一段从文件中选择部分区域:Java代码Intentintent=newIntent("com.android.camera.action.CROP");intent.setClassName("com.android.camera","com.android.camera.CropImage");Filefile=newFile(filePath);Uriuri=Uri.fromFile(file);intent.setData(
阅读全文
摘要:首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true"第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。android:transcriptMode="alwaysScroll"第三cacheColorHin
阅读全文
摘要:Android所有关于蓝牙开发的类都在android.bluetooth包下,只有8个类,而我们需要用到了就只有几个而已:1.BluetoothAdapter 蓝牙适配器,直到我们建立bluetoothSocket连接之前,都要不断操作它BluetoothAdapter里的方法很多,常用的有以下几个:cancelDiscovery() 根据字面意思,是取消发现,也就是说当我们正在搜索设备的时候调用这个方法将不再继续搜索 disable()关闭蓝牙 enable()打开蓝牙,这个方法打开蓝牙不会弹出提示,更多的时候我们需要问下用户是否打开,一下这两行代码同样是打开蓝牙,不过会提示用户:Intem
阅读全文
摘要:AsyncTask定义了三种泛型类型 Params,Progress和Result。 •Params 启动任务执行的输入参数,比如HTTP请求的URL。 •Progress 后台任务执行的百分比。 •Result 后台执行任务最终返回的结果,比如String。Activity01/*02* Android 异步任务AsyncTask03* AsyncTask定义了三种泛型类,Params,Progress,Result04*/05package rw.ansync;0607import android.app.Activity;08import android.os.Bundle;09impo
阅读全文
摘要:在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:1. 不要阻塞UI线程2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。 比如说从网上获取一个网页,在一个TextView中将其源代码显示出来,这种涉及到网络操作的程序一般都是
阅读全文
摘要:很多人反映android setAnimationStyle 无法使用也就是popupwindow的谈窗举个例子代码如下:pw.setAnimationStyle(R.anim.fadingin);pw.update();pw.showAtLocation(findViewById(R.id.txtview), Gravity.BOTTOM, 0,0);anim/fadingin.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schema
阅读全文
摘要:转自:http://blog.sina.com.cn/s/blog_8db8914301010t31.html首先,要说的是ActivityA到ActivityB的切换这个相对简单,只要overridePendingTransition(In,out)。这里不就说了。但是这里要说名的ActivityA不能TABHost里面的一个。因为Tabhost里面有自己的Activity其实还没有跳出Tabhost生命。这个可以Log,Tabhost生命周期试试就知道了。其实Tabhost里面嵌套的Activity都在生命周期都在Tabhost里面。这样的话,Tabhost里面的Activity跳转到其他
阅读全文
摘要:getSystemService()是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。传入的Name返回的对象说明WINDOW_SERVICEWindowManager管理打开的窗口程序LAYOUT_INFLATER_SERVICELayoutInflater取得xml里定义的viewACTIVITY_SERVICEActivityManager管理应用程序的系统状态POWER_SERVICEPowerManger电源的服务ALARM_SERVICEAlarmManager闹钟的服务
阅读全文
摘要:注:该文章为(男人应似海)原创,如需转载请注明出处!在上一篇文章“TabHost用法”中我们介绍了通过TabHost实现标签页效果。但是在实际项目中我们可能更希望定义自己的Tab标签样式使界面效果更佳。既然不能改变系统的Tab样式,那么我们可以选择隐藏系统的东西,使用自己定义的东西(这种方式很好用,以后会详细介绍)。反编译新浪微博的项目后会发现,他们在布局中隐藏了TabWidget即Tab标签而使用一组RadioButton来代替。既然是自己定义的,那肯定是可以自己决定显示样式了,那我们的问题也就解决了。这里我使用的是“TabHost用法—两种实现方式”一文种提到的第二种实现方式,继承Acti
阅读全文
摘要:最近为了解决某个bug,textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是pixel还是dip,都不准。后来想起textview中有个内容过长加省略号的属性,即ellipsize,可以较偷懒地解决这个问题,哈哈~用法如下:在xml中android:ellipsize = "end" 省略号在结尾android:ellipsize = "start" 省略号在开头android:ellipsize = "middle" 省略号在中间android:ellipsize = &q
阅读全文
摘要:原文地址:Android动画效果translate、scale、alpha、rotate作者:挑戰者overridePendingTransition只支持android2.0以上版本,动画效果在anim目录下的xml文件中定义,在程序中用AnimationUtils.loadAnimation(Contextcontext,intResourcesId)载入成Animation对象,在需要显示动画效果时,执行需要动画的View的startAnimation方法,传入Animation,即可。切换Activity也可以应用动画效果,在startActivity方法后,执行overridePen
阅读全文
摘要:这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-
阅读全文
浙公网安备 33010602011771号