Android
xyxdasnjss
这个作者很懒,什么都没留下…
展开
-
AsyncTask注意事项
在使用的时候,有几点需要格外注意:1.异步任务的实例必须在UI线程中创建。2.execute(Params... params)方法必须在UI线程中调用。3.不要手动调用onPreExecute(),doInBackground(Params... params),onProgressUpdate(Progress... values),onPostExecute(Result res...原创 2012-04-29 12:47:28 · 69 阅读 · 0 评论 -
androidsrc androidbackground区别
android:src....相当于java里面创建文件夹一样android:background...背景。转载 2012-04-29 12:48:58 · 386 阅读 · 0 评论 -
Android的Location功能代码
import static android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.location转载 2012-04-29 12:48:49 · 443 阅读 · 0 评论 -
常用的两种Activity动画切换(平滑切换)
Intent intent = new Intent(); intent.setClass(LoginActivity.this, com.client.carsmart.userinfomanager.ThirdLogin.class); intent.putExtra("provider", "QQ"); overridePendingTransition(R.anim.fade, R.转载 2012-04-29 12:46:43 · 740 阅读 · 0 评论 -
从raw读txt
package com.testand;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import andr转载 2012-04-29 12:46:31 · 723 阅读 · 0 评论 -
Android 浅谈获取时间
java代码:import java.text.SimpleDateFormat;SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");Date curDate = new Date(System.currentTimeMillis());//获取当前时间String str = fo转载 2012-04-29 12:49:23 · 343 阅读 · 0 评论 -
Android 项目中应该注意的Activity周期
1:基本周期流程就不用介绍了啊 2:Activity 只要没调用finish(), onCreate和构造函数就不会被反复调用例子:startActivity实际上是建立了一个新的线程,假如A中激活了B,那么在进入B后A并没有wait,而是继续执行着代码,这样就不一定能达到在B回来再刷新A的界面,为了解决这个问题,使用startActivityForResult(B,1),转载 2012-04-29 12:49:19 · 413 阅读 · 0 评论 -
Android复制粘贴到剪贴板
android2.1之后版本其一:(已运行成功)import android.text.ClipboardManager;ClipboardManager clip = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);clip.getText(); // 粘贴clip.setText(str); //转载 2012-04-29 12:48:45 · 11320 阅读 · 0 评论 -
GONE,VISIBLE和INVISIBLE区别
如果这个View我们设置为GONE则消失,该广告条看不见也不占用位置。而INVISIBLE则代表广告条那块是空白,但仍然沾着他布局高和宽的位置,而VISIBLE就是标准显示时的状态。转载 2012-04-29 12:48:13 · 375 阅读 · 0 评论 -
Handler的大致流程
1、首先创建一个Handler对象,可以直接使用Handler无参构造函数创建Handler对象,也可以继承Handler类,重写handleMessage方法来创建Handler对象。 2、在监听器中,调用Handler的post方法,将要执行的线程对象添加到线程队列当中。此时将会把该线程对象添加到handler对象的线程队列中。 3、将要执行的操作写在线程对象的run方法中,一般是转载 2012-04-29 12:47:58 · 401 阅读 · 0 评论 -
SurfaceView和View
SurfaceView和View最本质的区别在于,surfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。 那么在UI的主线程中更新画面可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。 当使用surfaceView 由于是在新的线程中更新画面所以不会阻塞你的UI主转载 2012-04-29 12:47:37 · 327 阅读 · 0 评论 -
windowSoftInputMode属性使用
活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:1> 软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。2> 活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adj转载 2012-04-29 12:46:51 · 379 阅读 · 0 评论 -
ANDROID RES下三个DRAWABLE文件夹的用途
较新版本的Android, 建立工程后会在res文件夹下建立三个drawable文件夹.而Android1.5是不会有这三个文件夹的,只有drawable文件夹。 刚开始正奇怪. 为什么会出现三个, 后来在网上发现了: drawable- hdpi、drawable- mdpi、drawable-ldpi的区别: (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x转载 2012-04-30 21:16:26 · 439 阅读 · 0 评论 -
android 9 patch 图片(.9.png 格式图片)
一 .9.png 格式的文件的特点 与传统的png 格式图片相比,9.png 格式图片在图片四周有一圈一个像素点组成的边沿,该边沿用于对图片的可扩展区和内容显示区进行定义。这种格式的图片在android 环境下具有自适应调节大小的能力。(1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。(2)允许开发人员定义内容显示区,用于显示文字或其转载 2012-04-30 21:16:32 · 449 阅读 · 0 评论 -
重写AlertDialog
LayoutInflater factory = LayoutInflater.from(BindEmail.this);final View show = factory.inflate(R.layout.show_protocol, null);Button confirm_btn = (Button) show.findViewById(R.id.confirm_btn);...原创 2012-04-28 11:48:40 · 164 阅读 · 0 评论 -
Android ListView 自定义背景后 滚动时的背景变黑问题
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,要改变这种情况,只需要调用 listView的setCacheColorHint(0),颜色值设置为0或者xml文件中listView的属性 Andro...原创 2011-05-19 16:53:14 · 85 阅读 · 0 评论 -
SharedPreferences
功能:多用于保存软件配置参数。其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下: 生成方式: SharedPreferences sharedPreferences=getSharedPreferences("color",Context.MODE_PRIVATE); Editor editor=sharedPreferences...原创 2011-05-09 17:46:20 · 75 阅读 · 0 评论 -
ListView:Your content must have a ListView
Your content must have a ListView whose id attribute is 'android.R.id.list'解决办法 这个错误提示很显然是在setContentView(R.layout.main)的地方设置的布局页面缺少一个id为android.R.id.list的ListView控件,解决方式如下:在main.xml页面中添加如下代码:<...原创 2011-04-21 11:13:18 · 71 阅读 · 0 评论 -
获得软件版本信息
//欲取得 软件版本号 try { PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0); System.out.println(info.versionCode); System.out.println(info.applicationInfo.loa转载 2012-04-30 21:17:22 · 583 阅读 · 0 评论 -
获得手机屏幕分辨率
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String strOpt = "手机屏幕分辨率:"+dm.widthPixels + "x" + dm.heightPixels;setTitle(s转载 2012-04-30 21:17:17 · 326 阅读 · 0 评论 -
获取手机imsi,imei
TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); imei = tm.getDeviceId(); imsi = tm.getSubscriberId();// String转载 2012-04-30 21:17:13 · 559 阅读 · 0 评论 -
设置横屏
第一种方式: 代码// 设置横屏显示 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);第二种方式:manifestandroid:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"转载 2012-04-30 21:17:05 · 435 阅读 · 0 评论 -
自定义Toast
LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom_toast, (ViewGroup) findViewById(R.id.customtoast)); TextView text = (TextView) layout.findViewById(R.i转载 2012-04-30 21:16:54 · 384 阅读 · 0 评论 -
Android横竖屏切换相关总结
Android横竖屏要解决的问题应该就两个:一。布局问题;二。重新载入问题。1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:"unspecified"默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同转载 2012-04-30 21:16:48 · 302 阅读 · 0 评论 -
ActivityGroup中嵌套activity时出现的黑色横线
一般来说用tabHost开发有不少的限制。。界面也不算是很好看。不少的开发者采用了activitygroup这种模式开发。在activitygroup中利用AddView来添加一个activity。来达到切换的效果。 这是addview的一个activity会有一个titleBar,有些可能由于图片的原因不明显,所以一般不是很在乎。由于在开发中所用到得图片和那条黑色线形成鲜明的对比,所以必须转载 2012-04-30 21:16:38 · 852 阅读 · 0 评论 -
获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManager();List packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所转载 2012-04-29 12:46:12 · 551 阅读 · 0 评论 -
有关Activity的Launch mode 以及Intent的setFlags
Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别:standard: Activity的默认加载方法,即使某个Activity在 Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中。例如:现在栈的情况为:A B C转载 2012-04-29 12:45:56 · 328 阅读 · 0 评论 -
屏幕亮度
private void SetBright(float light) { WindowManager.LayoutParams lp=getWindow().getAttributes(); lp.screenBrightness=light; getWindow().setAttributes(lp); }/转载 2012-04-30 21:17:09 · 339 阅读 · 0 评论 -
TimerTask
在Android平台中需要反复按周期执行方法可以使用Java上自带的TimerTask类,TimerTask相对于Thread来说对于资源消耗的更低,除了使用Android自带的AlarmManager使用Timer定时器是一种更好的解决方法。我们需要引入import java.util.Timer; 和 import java.util.TimerTask; private Ti转载 2012-04-28 13:42:59 · 488 阅读 · 0 评论 -
FAILED BINDER TRANSACTION
12-07 01:38:28.272: ERROR/JavaBinder(878): !!! FAILED BINDER TRANSACTION !!!出现这个问题是因为更新时间找不到Remoteview,所以在每次更新时必须先获取Remoteview.appwidget和service(更新appwidget的service)是两个不同的线程!public void on转载 2012-04-28 13:19:48 · 18683 阅读 · 0 评论 -
This message is already in use
Android使用Handler的message时候出现 This message is already in use错误使用了同一个消息对象进行多次sendToTarget()导致了这个问题。也就是说在每次sendToTarget()之前都要从消息池中重新obtain一个消息对象,而不能获取一个对象后sendToTarget多次。使用消息的时候 都重新new转载 2012-04-28 13:19:20 · 824 阅读 · 0 评论 -
Broadcast
---------Manifest.xml ---------main.java Intent intent = new Intent(); intent.setAction("broadcast.test") .putExtra("broadcast", "自定义广播,测试"); sendB转载 2012-04-28 13:07:21 · 318 阅读 · 0 评论 -
SharedPreference
存储:SharedPreferences sp = ConnectGame.this.getSharedPreferences("userscore", Context.MODE_APPEND);sp.edit().putString("name", "xyxd").putInt("age", 12).commit();获取: SharedPreferences sp = t转载 2012-04-28 13:37:47 · 281 阅读 · 0 评论 -
Notification
//初始化NotificationManager: NotificationManager nm ; PendingIntent m_PendingIntent; -------------nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); // Pending这个词是“挂起”、转载 2012-04-28 13:33:59 · 333 阅读 · 0 评论 -
创建快捷方式
private void addShortcut() { Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); shortcu转载 2012-04-28 13:46:00 · 300 阅读 · 0 评论 -
Service
//HelloServiceActivity.java Intent intent = new Intent(); intent.setClass(HelloService.this,MusicService.class);//第一种 启动service startService(intent);//接收service stopService(intent);转载 2012-04-28 13:37:08 · 323 阅读 · 0 评论 -
OptionMenu
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.carsfriendmenu, menu); setMenuBackgroud(); return super.onCre转载 2012-04-28 13:35:48 · 346 阅读 · 0 评论 -
handler
-------private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); switch (msg.what转载 2012-04-28 13:21:56 · 497 阅读 · 0 评论 -
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli
03-10 17:42:28.959: ERROR/AndroidRuntime(15903): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application android.view.WindowManager$BadTokenExcep转载 2012-04-28 13:21:03 · 1275 阅读 · 1 评论 -
android开发经验
1、有一个方法,有一段类似于下面这样: Java代码new Thread(){ public void run(){ // 做了一些数据库操作 db.close(); } }.start(); 复制代码结果运行过程中,发现有时候会报数据库已经锁定的异常。最后才定位到上面这段代码。原因是在上面的转载 2012-04-28 13:00:44 · 350 阅读 · 0 评论