Welcome 微信登录

首页 / 操作系统 / Linux

Android开发:TabHost常用技巧

Android开发:TabHost常用技巧

在很多其他语言进行界面编程的时候,都有 Tab 这样的控件,在 Android 编程环境下也不例外。 TabHost 由一个 TabSpecs 和一个嵌套的 TabHost 组成,该嵌套的 TabHost 包含 tab 的标题以及 tab 的内容。一个 tab 的内容,可以是一个预先定义好的 View ,或者是通过 Intent 对象启动的 Activity ,或者是利用 TabContentFactory 所创建出来的 View 。 Tab 并没有看起来...
Android开发:水平方向和垂直方向同时滚动

Android开发:水平方向和垂直方向同时滚动

在这篇(http://www.linuxidc.com/Linux/2011-09/43135.htm)文章中,我们讲到了使用 ScrollView 和 HorizontalScrollView ,可以在同一时刻让屏幕要么在水平方向滚动,要么在垂直方向滚动。但却不能同时在水平和垂直两个方向滚动。这篇文章的目的就是为了解决同时在两个方向滚动的问题。 1. 创建一个 Android Project ,将 desktop.png( 大小为 1280 x 900)...
Android开发:ScrollView/HorizontalScrollView常用技巧

Android开发:ScrollView/HorizontalScrollView常用技巧

ScrollView是ViewGroup的派生类,ViewGroup是View的派生类。+ 屏幕大小总是有限制的,对移动设备来说更是如此。当有很多内容需要显示的时候,一屏显示不完时,就需要使用滚动的方式。+ ScrollView只能包含一个直接子view,这是因为ScrollView是FrameLayout的派生类,通常情况下,这个直接子view是一个LinearLayout,在直接子view(比如LinearLayout)中,可以再包含其他对象。+Scr...
Android开发:ImageSwitcher常用技巧

Android开发:ImageSwitcher常用技巧

ImageSwitcher 是 ViewGroup 的派生类, ViewGroup 是 View 的派生类。 ImageSwitcher 很简单见,但在使用它的时候,有一个地方必须要注意,否则就会出现 NullPointerException 。具体情况,请见下面的例子。 在这个例子中,我们将大致要重复做一遍 AndroidGUI19 : Gallery 常用技巧中的提到的事情。也就是说,这次我们还要用到 Gallery ,不过这次不再用 ImageVie...
分析Android SDK自带的输入法项目

分析Android SDK自带的输入法项目

本文将分析谷歌SDK中自带的SoftKeyboard项目。下图就展现了SoftKeyboard这个项目中所涉及到的类的角色以及它们之间的联系。点击上图看清晰大图附:1. 本文使用绘图工具的是Edraw Soft出品的MindMap。点击这里下载2. 如果您已经安装了Edraw MindMap,请下载.edx格式文件。免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /pub/...
Android异步处理系列文章索引

Android异步处理系列文章索引

为了给用户带来良好的交互体验,在Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果。本系列文章由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理。Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面 (入门)介绍如何使用Thread+Handler的方式从非UI线程发送界面更新消息到UI线程Android异步处理二:使用AsyncTask异步更新U...
Android异步处理二:使用AsyncTask异步更新UI界面

Android异步处理二:使用AsyncTask异步更新UI界面

在《Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面》中,我们使用Thread+Handler的方式实现了异步更新UI界面,这一篇中,我们介绍一种更为简洁的实现方式:使用AsyncTask异步更新UI界面。概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类。AsyncTask的内部实现是一个线程池,每个后台任务会提交到线程池中的线程执行,然后使用Thread+...
Android异步处理三:Handler+Looper+MessageQueue深入详解

Android异步处理三:Handler+Looper+MessageQueue深入详解

在《Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面》中,我们讲到使用Thread+Handler的方式来实现界面的更新,其实是在非UI线程发送消息到UI线程,通知UI线程进行界面更新,这一篇我们将深入学习Android线程间通讯的实现原理。概述:Android使用消息机制实现线程间的通信,线程通过Looper建立自己的消息循环,MessageQueue是FIFO的消息队列,Looper负责从MessageQueue中取...
Android异步处理四:AsyncTask的实现原理

Android异步处理四:AsyncTask的实现原理

在《Android异步处理二:使用AsyncTask异步更新UI界面》一文中,我们介绍了如何使用AsyncTask实现异步下载图片,并且更新图片到UI界面的方法。本篇我们将学习Framework层AsyncTask的实现原理。概述:AsyncTask的本质是一个线程池,所有提交的异步任务都会在这个线程池中的工作线程内执行,当工作线程需要跟UI线程交互时,工作线程会通过向在UI线程创建的Handler(原理见:《Android异步处理三:Handler+Lo...
Android多线程任务的优化1:AsyncTask的缺陷

Android多线程任务的优化1:AsyncTask的缺陷

导语:在开发Android应用的过程中,我们需要时刻注意保障应用的稳定性和界面响应性,因为不稳定或者响应速度慢的应用将会给用户带来非常差的交互体验。在越来越讲究用户体验的大环境下,用户也许会因为应用的一次Force Close(简称FC)或者延迟严重的动画效果而卸载你的应用。由于现在的应用大多需要异步连接网络,本系列文章就以构建网络应用为例,从稳定性和响应性两个角度分析多线程网络任务的性能优化方法。概述:为了不阻塞UI线程(亦称主线程),提高应用的响应性,...
Linux:C应用程序终端输出字体颜色的改变

Linux:C应用程序终端输出字体颜色的改变

使用33[01;04;32;41m之类的配色方案在需要输出显示的文本之前,可以改变应用程序输出文本的颜色或者背景颜色。color_hello.c#include<stdio.h> intmain() { printf("33[01;34mHelloWorld33[0m "); return0; }上面的01表示加粗,34表示是蓝色,后面33[0m表示恢复所有的属性为原来的默认值。更多关于颜色的参考,这篇文章有非常详细的叙述。也可以把上述的3...
基于FS2410的SQLite移植

基于FS2410的SQLite移植

一、引言 本文将简要介绍如何在FS2410平台上移植SQLite嵌入式数据库。SQLite是一个采用C语言开发的嵌入式数据库引擎。在不至于引起混淆的情况下,本文也将其简称为QLite3。数据库的目标是实现对数据的存储、检索等功能。传统的数据库产品除提供了基本的查询、添加、删除等功能外,也提供了很多高级特性,如触发器、存储过程、数据备份恢复等。但实际上用到这些高级功能的时候并不多,应用中频繁用到的还是数据库的基本功能。于是,在一些特殊的应用场合,传统的数据库...
移植蓝牙协议栈及其工具到嵌入式ARM Linux下

移植蓝牙协议栈及其工具到嵌入式ARM Linux下

目前,蓝牙技术已经比较成熟,特别是基于手机和PC得蓝牙文件传输。本文主要讲述基于嵌入式arm linux的蓝牙文件传输。现行2.6.x的linux内核都已经集成了bluez蓝牙驱动,对于2.4版本内核的需要到bluez官方网站下载并安装bluez蓝牙驱动。本为基于2.6版本的内核讲述。对于2.4下载bluez后安装即可。有了bluez蓝牙驱动还需要安装bluez-libs库和bluez-utils工具蓝牙文件传输应用开发分为2部分,On pc 和on AR...
<< 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 >>