- 10-17 09:51:58.930: D/STATUSBAR-NetworkController(2441): refreshSignalCluster: data=-1 bt=false 开发中遇到了上述错误 2.android 内存组成: android 内存由 dalvik 和 native 2部分组成,dalvik 也就是 java 堆,创建的对象就是在这里分配的,而 native 是通过 c/c 4.程序实际占用: 以一个简单的 android 程序为例,该程序是用 eclipse adt 自动生成的最简单的一个 android 项目,只有1个 activity 和 adt 自动生成的 res android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; public 那为什么区区3,4张图片就会让 android 程序内存不足?
*:d' and <tag> by itself means <tag>:v If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS If no filterspec is found, filter defaults to '*:I' If not specified with -v, format is set from ANDROID_PRINTF_LOG null V/ActivityManager( 500): getTasks: max=1, flags=0, receiver=null V/ActivityManager( 500): com.android.settings /.Settings: task=TaskRecord{42392278 #448 A com.android.settings U 0} V/ActivityManager( 500): We have entry is 5120b, max payload is 4076b octopus@octopus:~$ 加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令; -- Android
android开发中使用AndroidManiFest.xml静态注册的BroadCastReceiver没有作用是什么原因? to discover and pair bluetooth devices) android蓝牙开发——权限 为了在应用程序中使用蓝牙功能,我们至少需要声明两方面的权限:BLUETOOTH和BLUETOOTH_ADMIN 大多数应用程序必须具有这个权限才能够发现本地蓝牙设备,这个权限保护的其他能力(除了发现本地设备)不应该被使用,除非你的应用程序是在用户请求的时候能够修改蓝牙设置的管理者。 你需要在应用程序的manifest文件中声明程序的蓝牙权限。 </manifest> 关于声明应用程序权限的信息,请看<uses-permission>参考。
SoundPool播放的音效要小于7秒 , 否则会出现加载失败的现象; 在Android平台上使用的即时文件越小越好 , 必要的时候可以降低采样频率或者将立体声改为单声道;
案例演示 XML布局文件 : <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/nine_patch > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="
注意一个错误 : 已安装具有该名称和不同签名的数据包 , 早上测试人员报告突然出现这个问题, 在开发的时候我直接将eclipse上编译的版本放到了服务器上, 最后出现了这个问题, 开发的时候明明是好的啊 又发现一个BUG : 在弹出更新对话框, 点击确定下载完毕之后会弹出系统自带的替换应用程序对话框, 在这里点取消的话就会一直卡在Splash界面. 设置一个跳转机制解决这个问题. > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width > <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android > <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android
一、Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成。 三、Android系统架构分为四层: 应用层:java编写运行在虚拟机上的程序。 应用框架层:编写应用时使用的API框架。 九、Android应用解析 1、Activity 一个Activity通常就是一个单独的屏幕,每个活动都被实现为一个独立的类。 2、Intent Android用Intent这个特殊类实现在Activity和Activity之间的切换。 4、Service 十、Android应用程序的生命周期 [img]http://images.51cto.com/files/uploadimg/20100105/145010651.jpg[/img
BluetoothSocket 和 BluetoothServerSocket 类似于Java中的套接字的 Socket 和 ServerSocket;
需要权限 android.permission.BLUETOOTH : 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于对配对后进行操作; android.permission.BLUETOOTH_ADMIN : 允许程序发现和配对蓝牙设备, 该权限用来管理蓝牙设备, 有了这个权限, 应用才能使用本机的蓝牙设备, 主要用于对配对前的操作; 优先级 : BLUETOOTH权限是BLUETOOTH_ADMIN权限的前提 低级连接与高级连接 : ACL连接是低级连接, RFCOMM, L2CAP等连接是高级连接; 高级别的连接基于低级别的连接; (1)ACL连接相关广播常量 ACL连接 : 该连接是一种低级别的连接, ACL连接通过Android 蓝牙栈自动进行管理; String ACTION_ACL_CONNECTED : android.bluetooth.device.action.ACL_CONNECTED,与远程设备建立了ACL连接发出的广播 ", 几乎该类中的每个广播都有该附加域; 蓝牙名称 : StringEXTRA_NAME, 蓝牙名称附加域, 存放蓝牙名称, 值为"android.bluetooth.device.extra.NAME
配置文件 配置 ActionBar 启用 和 关闭 配置文件中指定 targetSdkVersion : 在创建应用的时候, 指定的 targetSdkVersion 大于 3.0 版本, 就会默认启用 并在图标上添加左箭头; -- setDisplayOption(int) : 设置 ActionBar 的显示选项; -- setDisplayShowHomeEnable(boolean) : 设置是否显示应用程序图标 ; -- setHomeButtonEnable(boolean) : 设置是否将应用程序图表转换为可点击按钮; 2. 相关代码 设置不显示应用图标并添加左箭头 : actionBar = getActionBar(); /* 设置将左侧图标设置成可点击图标, 并添加一个左箭头 */ actionBar.setDisplayHomeAsUpEnabled (true); /* 不显示应用程序图标 */ actionBar.setDisplayShowHomeEnabled(false); 设置点击图表回调事件 : ActionBar 中的图表代表的组件
Android功能快速上线神器! 推荐一款开源的轻应用开发框架RapidView:[https://github.com/Tencent/RapidView) 用过的都说好,神器! 简介 RapidView是一套用于开发Android客户端界面、逻辑以及功能的开发组件。 布局文件(XML)及逻辑文件(Lua)可以运行时执行,主要用以解决Android客户端界面、逻辑快速更新以及快速开发的诉求。 RapidView的XML语法规则与Android原生XML类似,而写逻辑的Lua部分除语言语法规则外,可以直接使用我们提供的Java API以及Android原生API,因此熟悉Android客户端开发的开发者上手成本会非常小 除了解决动态更新问题外,RapidView希望Android开发者能够以更快的速度开发产品功能需求,因此我们在语法和开发方式上做了一些改变,期望开发者能够实现:小功能极速开发、大功能极速上线。
Android开发之《Android应用开发揭秘》UI事件汇总 /* * Android开发之《Android应用开发揭秘》UI事件汇总 * 北京Android俱乐部群:167839253 * 还好,现在沉淀下来,继续android开发的征程。 以下是Android应用开发揭秘这本书第四章的关于UI的事件处理的总结。基本上都是可以复用的代码。存着日后方便。 android:id="@+id/color" android:orderInCategory="0" android:title="蓝色" /> <item android:id="@+id/ ="2" android:title="青色" /> <item android:id="@+id/color" android:orderInCategory="3" android:title " android:title="中等" /> <item android:id="@+id/width" android:orderInCategory="4" android:title="粗
Closeable是可以关闭的数据源或者目标, 实现该接口必须重写close()方法, 调用close()方法可以释放该对象保存的资源;
UI = 控件 + 布局,上一节介绍的是简单控件,这里主要介绍一下Android应用界面开发中的布局。 五大布局 LinearLayout:线性布局。 RelativeLayout:相对布局。 android:gravity:该属性用于控制它所包含的子元素的对齐方式。 外边距 android:marginLeft:控件距布局左边界的距离。 android:marginTop:控件距布局上边界的距离。 android:marginRight:控件距布局右边界的距离。 android:marginBottom:控件距布局下边界的距离。 android:paddingRight:控件中内容距控件右边界的距离。 android:paddingBottom:控件中内容距控件下边界的距离。 AbsoluteLayout 运行Android应用的手机往往千差万别,因此屏幕大小、分辨率都有可能有很大差异,使用绝对布局很难兼顾不同屏幕大小、分辨率问题,因此AbsoluteLayout布局已经过时
文章目录 LruCache 应用场景 LruCache 算法原理 LruCache 实现 LruCache 参考 LruCache 应用场景 ---- 1. Android 中的 LruCache : 其缓存空间就是一个 LinkHashMap 链表 , 当调用 put 方法向其中放入新元素时 , 就会判断这个 LinkHashMap 链表是已满 , 如果没有空间 并保证其插入取出顺序的一致性 ; 当调用 get 方法获取其中的元素时 , 会将该元素提取到队头中 , 这符合了 LRU 算法的要求 ; LruCache 参考 ---- LruCache 参考 : ① Android
开发者可以直接在WebView中使用聚合(Polymer)和Material设计。 由于该应用需要访问互联网,所以需要在AndroidManifest.xml中配置: <uses-permission android:name="android.permission.INTERNET" 在JavaScript脚本中通过刚才暴露的name对象调用Android方法。 写一个在JavaScript中调用Android方法的实例,该实例界面包含一个WebView组件,用于显示HTML页面。 方法的功能,并将Android应用中的MyObject对象暴露给JavaScript脚本,暴露成JavaScript脚本中名为myObj的对象。 -- 注意此处的myObj是Android暴露出来的对象--> <input type="button" value="打招呼" onclick="myObj.showToast('<em>Android</em>
Android应用开发平台可以基于linux系统(如ubuntu),MAC OS,windows,但习惯上还是在windows下做应用开发,linux下作系统开发。 先讲windows下应用开发,linux下系统开发后续开展 随着android于2007上市推广一下,android应用开发环境也经历变变化。 下面简述三种应用开发环境的搭建: 方法一:自己安装JAVA库,ADT,android SDK,eclipse,早期的开发都是基于这种模式。记得在2011年在外实习,当初采用的就是这种方式。 /reference/packages.html api使用手册(一般用来查询api使用方法,相当于微软的MSDN) 5.第一个android应用程序的演示过程 使用EclipseIDE开发一个Android 设置工程的用途 o 选择 Create new project in workspace 可以建立一个新的Android工程,输入工程的名字,代码的开发包的名字,应用界面的类名字,应用程序的标题的名字
Intelij IDEA 的 SDK 概念 (1) SDK 简介 SDK 简介 : -- SDK 需求 : 如果使用 Intelij 开发应用软件, 需要一个 SDK, 最常见的时 JDK, 用于 Java Java ME 移动设备开发; -- Android SDK : Android 开发; -- Flex AIR SDK : Adobe Flash 平台开发; -- Flexmojos SDK : Web 应用的工具, 可以使用 Java PHP JavaScript markUp 等语言; -- Android Moudle : Android 应用模块; -- Ruby Moudle : 工具集合, 控制设备行为; -- 启动 : 如果开发者要去 调试 Android 调试器, 点击底部工具栏的 Android 按钮; -- 布局层级监控 : 包括 视图组件层级查看器 去帮助开发者优化布局 Android 可穿戴 和 电视支持 工程配置 : -- 设备类型选择 : 为了更容易跨平台开发, 工程向导提供了新的模板 为 Android 可穿戴 和 电视设备 创建你的应用; -- 版本选择 :
: 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于对配对后进行操作; android.permission.BLUETOOTH_ADMIN : 允许程序发现和配对蓝牙设备 , 该权限用来管理蓝牙设备, 有了这个权限, 应用才能使用本机的蓝牙设备, 主要用于对配对前的操作; 优先级 : BLUETOOTH权限是BLUETOOTH_ADMIN权限的前提, 如果没有BLUETOOTH "; String EXTRA_PREVIOUS_SCAN_MODE : 值为"android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE"; 开关状态附加域 "; String EXTRA_PREVIOUS_STATE : 值为"android.bluetooth.adapter.extra.PREVIOUS_STATE"; 蓝牙名称附加域 : String EXTRA_LOCAL_NAME , 存放ACTION_LOCAL_NAME_CHANGED附加域的附加值 , 值为"android.bluetooth.adapter.extra.LOCAL_NAME
中的序列化方法 : 在Java中序列化有两种方法, 一种是实现Serializable接口, 一种是实现Parcelable接口, Serializable接口是J2SE固有支持的, Parcelable是Android 支持的, 是Android中特有的, 效率比Serializable高; 序列化实现 : Serializable接口实现 : 只需要声明一下即可; Parcelable接口实现 : a.