Welcome 微信登录

首页 / 移动开发 / Android

一看就懂的Android APP开发入门教程

一看就懂的Android APP开发入门教程

工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣。于是凌晨一点睡不着写了第一个android程序HelloAndroid,po出来分享给其他也想学习android开发的朋友,这么傻瓜的Android开发入门文章,有一点开发基础的应该都能看懂。一、准备工作主要以我自己的开发环境为例,...
Android和IOS的浏览器中检测是否安装某个客户端的方法

Android和IOS的浏览器中检测是否安装某个客户端的方法

我们希望更多的用户用我们的产品,更希望能留住更多的用户。这个时候让用户使用客户端的意义就变得格外重要了。毕竟客户端是实实在在的占据了用户的桌面,每天或多或少都会看到我们的产品。然后,作为手机端的Web产品,用户通过手机浏览器访问到了我们的页面,我们就希望用户能直接使用或者下载我们的客户端产品了。最后就有了下载Banner一说。IOS说到IOS,非常兴奋的是,自IOS6开始,我们只需要在html里加上meta标签就可以了。具体的meta标签是:<met...
Android游戏开发实践之人物移动地图的平滑滚动处理

Android游戏开发实践之人物移动地图的平滑滚动处理

如图所示为程序效果动画图地图滚动的原理在本人之前博客的文章中介绍过人物在屏幕中的移动方式,因为之前拼的游戏地图是完全填充整个手机屏幕的,所以无需处理地图的平滑滚动。这篇文章我着重的向 大家介绍一下控制人物移动后地图滚动的处理方式。举个例子 如上图所示 比如人物向右移动,如果地图贴在屏幕左边边界 将先移动人物在地图的坐标,当人物在屏幕中超过三分之二后 则将地图向人物行走的反方向移动给玩家一种人物还在向右移动的假象,其实这时候人物只是播放向右行走的动画 在屏幕...
Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)

Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)

由于考虑到数据库的安全性,不被轻易SQL注入,执行查询语句时,一般不使用直接拼接的语句,而是使用参数传递的方法。然后在使用参数传递的方法中时,发现当使用like方式查询数据时,很容易出现一个问题。错误案例:复制代码 代码如下:String myname = "abc";String sql = "select * from mytable where name like "?%"";Cursor cursor = db.rawQuery(sql, new ...
Android中实现开机自动启动服务(service)实例

Android中实现开机自动启动服务(service)实例

最近在将 HevSocks5Client 移植到 Android 上了,在经过增加 signalfd 和 timerfd 相关的系统调用支持后,就可以直接使用 NDK 编译出 executable 了。直接的 native exectuable 在 Android 系统总还是不太方便用哦。还是做成一个 apk 吧,暂定只写一个 service 并开机自动启用,无 activity 的。Java 中调用 native 程序我选择使用 JNI 方式,直接在 J...
Android App后台服务报告工作状态实例

Android App后台服务报告工作状态实例

本节讲运行在后台服务里的工作请求,如何向发送请求者报告状态。推荐用LocalBroadcastManager发送和接收状态,它限制了只有本app才能接收到广播。从IntentService汇报状态从IntentService发送工作请求状态给其他组件,先创建一个包含状态和数据的Intent。也可以添加action和URI到intent里。下一步,调用 LocalBroadcastManager.sendBroadcast()发送Intent,应用中所有注册...
Android中使用IntentService创建后台服务实例

Android中使用IntentService创建后台服务实例

IntentService提供了在单个后台线程运行操作的简单结构。这允许它操作耗时操作,而不影响UI响应。同样,IntentService也不影响UI生命周期事件,所以,它在某些可能关闭AsyncTask的情况下,仍会继续运行(实测在Activity的onDestory里写AsyncTask无法运行)。IntentService有如下限制:1.它不能直接影响UI。要把结果反映给UI,需要发给Activity2.工作请求会顺序运行。如果一个操作未结束,后面发...
Android开发中避免应用无响应的方法(Application Not Responding、ANR)

Android开发中避免应用无响应的方法(Application Not Responding、ANR)

App里发生的最糟糕的事是弹出应用无响应”Application Not Responding” (ANR) 对话框.本课讲的是如何保持应用响应,避免ANR。什么触发ANR通常,系统会在应用无法对用户输入响应时显示ANR。比如,如果一个应用在I/O操作上阻塞了(频繁请求网络)UI线程,系统无法处理用户输入事件。或者,在UI线程中,app花了大量时间在构建复杂的类,或在游戏中计算下一个动作。保证这些操作高效是很重要的,但最高效的代码也需要花费时间。在任何情况...
Android后台线程和UI线程通讯实例

Android后台线程和UI线程通讯实例

本节向你展示如何在任务中发送数据给UI线程里的对象,这个特性允许你在后台线程工作,完了在UI线程展示结果。在UI线程定义一个HandlerHandler是Android系统线程管理框架里的一部分。一个Handler对象接收消息,并且运行代码来处理消息。正常情况下,你为新线程创建Handler,但你也可以为已有的线程创建一个Handler.当你连接Handler到UI线程时,处理消息的代码会在UI线程上运行.在创建线程池的类的构造器里实例化Handler对象...
在Android线程池里运行代码任务实例

在Android线程池里运行代码任务实例

本节展示如何在线程池里执行任务。流程是,添加一个任务到线程池的工作队列,当有线程可用时(执行完其他任务,空闲,或者还没执行任务),ThreadPoolExecutor会从队列里取任务,并在线程里运行。本课同时向你展示了如何停止正在运行的任务。在线程池里的线程上执行任务在ThreadPoolExecutor.execute()里传入 Runnable对象启动任务。这个方法会把任务添加到线程池工作队列。当有空闲线程时,管理器会取出等待最久的任务,在线程上运行。...
Android中创建多线程管理器实例

Android中创建多线程管理器实例

如果你要反复执行一个任务,用不同的数据集(参数不同),但一次只要一个执行(任务是单线程的),IntentService符合你的需求。当需要在资源可用时自动执行任务,或允许多任务同时执行,你需要一个线程管理器管理你的线程。ThreadPoolExecutor,会维护一个队列,当它的线程池有空时,从队列里取任务,并执行。要运行任务,你要做的就是把它加到队列里。线程池可以并联运行一个任务的多个实例,所以你要保存代码线程安全。能被多线程访问的变量需要同步块.更多信...
<< 381 382 383 384 385 386 387 388 389 390 >>