随笔分类 -  Android

摘要:ConnectivityManager cManager = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cManager.getActiveNetworkInfo(); if(null == networkInfo) { netTypeText.setText("无网络"); } else { switc... 阅读全文
posted @ 2013-11-04 10:04 water0504 阅读(307) 评论(0) 推荐(0)
摘要:建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下: (1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。详细介绍见实例52的内容。 (2)如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。 (3)建立一个服务类(Service的子类)。 (4)实现由aidl文件生成的Java接口。 (5)在AndroidManifest.xml文件中配置AIDL服务,尤其要注意的是,标签中android:name的属性值就是客户端要引用该服务的ID,也就是Int... 阅读全文
posted @ 2013-09-17 18:04 water0504 阅读(426) 评论(0) 推荐(0)
摘要:打开conf文件夹下的web.xml文件。例如:<mime-mapping> <extension>ppt</extension> <mime-type>application/vnd.ms-powerpoint</mime-type> </mime-mapping> <mime-mapping> <extension>rar</extension> <mime-type>application/x-rar-compressed</mime-type> </ 阅读全文
posted @ 2013-04-12 13:11 water0504 阅读(689) 评论(0) 推荐(0)
摘要:Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户 (Android 系统是基于Linux)的. 所以不同APK(用户)间互相访问数据默认是禁止的. 但是它也提供了2种APK间共享数据的形式: 1. Share Preference. / Content Provider APK可以指定接口和数据给任何其他APK读取. 需要自己实现接口和Share的数据. 本文对于这个不做详细解释 2. Shared User id 通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是 阅读全文
posted @ 2013-02-04 14:23 water0504 阅读(881) 评论(0) 推荐(0)
摘要:我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。 我们在同一个application内部,可以随意的startActivity from Activity A to Activity B,而官方的文档中说startActivity可能会报NotFoundException,表示被start的Activity不存在。因此,我们很容易忽略另一 阅读全文
posted @ 2013-02-04 14:19 water0504 阅读(241) 评论(0) 推荐(0)
摘要:在Android SDK中可以支持的图片格式如下:png , jpg , gif和bmp。1.Bitmap的创建借助于BitmapFactory。1)资源中的图片使用BitmapFactory获取位图Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.testImg);或者是Resources res=getResources();//使用BitmapDrawable获取位图//使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;//使用Bitma 阅读全文
posted @ 2012-12-27 09:54 water0504 阅读(209) 评论(0) 推荐(0)
摘要:SurfaceView介绍通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI元素,例如用后台线程更新自定义View(调用View的在自定义View中的onDraw函数)是不允许的。如果需要在另外的线程绘制界面、需要迅速的更新界面或则渲染UI界面需要较长的时间,这种情况就要使用SurfaceView了。SurfaceView中包含一个Surface对象,而Surface是可以在后台线程中绘制的。Surface属于OPhone底层显示系统,关于这方面的介绍请参 阅读全文
posted @ 2012-12-26 09:30 water0504 阅读(370) 评论(0) 推荐(0)
摘要:最近接触到了SurfaceView,SurfaceHolder,SurfaceHolder.CallBack,一直不求其解,现在来粗浅认识一下它们。先看一下官方的定义:1.SurfaceViewSurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。surfaceview提供了一个可见区域,只有在这个可见区域内 的surface部分内容才可见,可见区域外的部分不可见。sur 阅读全文
posted @ 2012-12-26 09:05 water0504 阅读(184) 评论(0) 推荐(0)
摘要:之前在Android开发中,只有一个应用入口,也就是只有一个Activity在intent-filter中声明:<intent-filter> <action android:name="android.intent.action.MAIN"></action> <category android:name="android.intent.category.LAUNCHER"></category> </intent-filter>以上设置可以在Android的应用列表中有一个位置。 阅读全文
posted @ 2012-12-12 17:50 water0504 阅读(278) 评论(0) 推荐(0)
摘要:在Android应用程序开发的时候,从一个Activity启动另一个Activity并传递一些数据到新的Activity上非常简单,但是当您需要让后台运行的Activity回到前台并传递一些数据可能就会存在一点点小问题。首先,在默认情况下,当您通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统都会创建一个新的Activity实例并显示出来。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置activity的加载方式(launchMode)以实现单任务模式,如下所示:<activity andro 阅读全文
posted @ 2012-12-12 17:48 water0504 阅读(173) 评论(0) 推荐(0)
摘要:一楼:默认情况下,Android设备会在一段时间后使屏幕变暗,然后关闭屏幕显示,最后停止CPU,有时用户并不希望如此,因此Android提供了WakeLock类让用户实现自定义的电源管理,但是如果不合理使用这个功能,应用程序造成的电池电量消耗产生显著的影响,所以建议当用户观看屏幕但是很少与屏幕进行交互时(如看视频)使用,从而防止屏幕变暗。二楼:如果一开始就对Android手机的硬件架构有一定的了解,设计出的应用程序通常不会成为待机电池杀手,而要设计出正确的通信机制与通信协议也并不困难。但如果不去了解而盲目设计,可就没准了。首先Android手机有两个处理器,一个叫Application Pro 阅读全文
posted @ 2012-12-12 17:44 water0504 阅读(344) 评论(1) 推荐(1)
摘要:在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如 Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。LayoutInflater 是一个抽象类,在文档 阅读全文
posted @ 2012-12-09 19:36 water0504 阅读(235) 评论(0) 推荐(0)
摘要:package eoe.demo; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.text.InputType; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager.LayoutParams; import androi 阅读全文
posted @ 2012-12-09 19:28 water0504 阅读(324) 评论(0) 推荐(1)
摘要:import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.. 阅读全文
posted @ 2012-12-09 19:27 water0504 阅读(380) 评论(0) 推荐(0)
摘要:1、新建 myprogress_style.xml在drawable中<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape><corners android:radius="8.0dip&quo 阅读全文
posted @ 2012-11-20 18:24 water0504 阅读(422) 评论(0) 推荐(0)
摘要:一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获取BitmapResources res = getResources(); Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.icon); 2、Bitmap ... 阅读全文
posted @ 2012-11-20 17:49 water0504 阅读(719) 评论(0) 推荐(0)
摘要:程序安装后第一次启动:启动页-->功能介绍页-->系统主页以后启动:启动页-->系统主页所以在启动页中判断一下就可以了 可以弄一个文件保存一个状态,推荐用SharedPreferences。1.可以定义一个变量来判断程序是第几次运行,如果是第一次则跳转到引导的Activity,如果不是第一次则执行系统主页。判断系统是第一次运行的代码实现如下:在Activity中添加代码://使用SharedPreferences来记录程序的使用次数SharedPreferencespreferences; /** Called when the activity is firstcreate 阅读全文
posted @ 2012-11-20 17:41 water0504 阅读(316) 评论(0) 推荐(0)
摘要:导读:获得用户之后,真正的战斗才刚打响,那就是留住用户,并通过他们最终获利。开发移动App 的童鞋,都会有这样一个问题:应用发出去了,就不可控了。用户手机上一堆的应用,有可能用户根本就忘记了我这个应用的存在,不怎么去使用,我有没有什么办法?我发布了新版本相信可以更吸引用户,但他也不知道啊;我想做个活动来激活用户更多地使用我的应用,怎么做到呢?提高活跃度的根本当然还在于产品本身,这一点是毋庸置疑的。正如有牛人总结说:互联网企业产品是唯一的核心。想必很多人了解,产品之外,运营也是非常重要的部分,甚至是更重要的部分。最近著名的移动应用统计供应商 Flurry 发表了一篇文章:移动应用经济的数学模型 阅读全文
posted @ 2012-10-30 11:49 water0504 阅读(247) 评论(0) 推荐(0)
摘要:WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);2.调用WebView的loadUrl()方法,设置WevView要显示的网页:互联网用:webView.loadUrl("http://www.google.com");本地文件用:webView.loadUrl("file:///android_asset/XX.html&q 阅读全文
posted @ 2012-10-30 10:29 water0504 阅读(277) 评论(0) 推荐(0)
摘要:public static final int ELAPSED_REALTIME //当系统进入睡眠状态时,这种类型的闹铃不会唤醒系统。直到系统下次被唤醒才传递它,该闹铃所用的时间是相对时间,是从系统启动后开始计时的,包括睡眠时间,可以通过调用SystemClock.elapsedRealtime()获得。系统值是3 (0x00000003)。 public static final int ELAPSED_REALTIME_WAKEUP //能唤醒系统,用法同ELAPSED_REALTIME,系统值是2 (0x00000002) 。 ... 阅读全文
posted @ 2012-10-29 18:40 water0504 阅读(266) 评论(0) 推荐(0)