android开发实录

TCL Android TV 开发环境搭建实录 1系统概况  1.1 硬件环境概况存储设备:支持SD卡和U盘.CPU主频800M以上,内存512M以上,flash512M以上.USB:扩展4个.音频输入输出:双通道立体声输入输出.HDMI输出,最大分辨率1920*1080.网口:1个10M/100M的以太网口.支持键盘鼠标输入.通过USB口可以扩展其他设备(摄像头,无线网口等).支持通过ADB进行调试.1.2 软件环境概况操作系统版本:android2.2.SDK版本: TCL SDK.支持OPENGL2.0,硬件加速.多媒体解码支持:MVB/TS/MP 阅读详情

本文主要以FAQ的形式记录android开发过程中的一些问题。

Q:让光标停在edittext末尾?

A:

//获取焦点,并将光标停在正文最后
editContent.requestFocus();
editContent.setSelection(content.length());

Q:隐藏键盘?

A:链接1。使用过程中,只有一个focusable对象,所以不能使用edittext的clearFocus()方法,该函数说明中有讲,可以在manifest中配置相应的activity,android:configChanges="orientation|keyboardHidden"。

Q:如何使用进度条?

A:看链接1。

我使用过程中出现一个问题,数据恢复之后,进度条才出现。

后来发现是由于用了new Thread(xx).run();造成;

应该用new Thread(xx).start();start是让reciver来run;

Q:android签名apk以及优化:

A:签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-windows\tools目录下)工具对其优化:
tooxxpalign -v 4 demo_signed.apk final.apk

参考:链接1  链接1 

Q:android2.1系统如何进行代码混淆?

1,在project.properties中配置
proguard.config=proguard.cfg
2,将proguard.cfg文件放置到工程文件中(与AndroidManifest.xml一个目录下即可)
3, 使用android2.3提供的proguard.cfg的基础上对proguard进行配置
-dontwarn android.support.v4.*
有第三方包则添加类似句子(下面是googlead第三方包)
-libraryjars libs/GoogleAdMobAdsSdk-6.4.1.jar
#不对第三方包进行代码混淆
-dontwarn com.google.ads.**
-keep class com.google.ads.**{*;}

proguard配置问题,看以参考:链接1,链接2.

测试proguard配置成功,参看反编译方法:链接1,链接2.

Q:SharedPreferences如何使用?

A:看链接。

Q:如何加快SDK更新速度?

A: 1,在SDK Manager下Tools->Options打开了SDK Manager的Settings,

选中“Force https://… sources to be fetched using http://…”,强制使用http协议。
2,然后改hosts文件。Windows在C:\WINDOWS\system32\drivers\etc目录下,Linux用户打开/etc/hosts文件。

打开文件后添加以下内容。

#Google主页
203.208.46.146 www.google.com
#这行是为了方便打开Android开发官网 现在好像不翻墙也可以打开
74.125.113.121 developer.android.com
#更新的内容从以下地址下载
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com

Q:如何设置带滚动条的Textview ?

A :在xml文档中设置如下两个属性即可

android:singleLine="false"
android:scrollbars="vertical"

Q:如何使用PopupWindow?

A:像使用Toast一样使用PopupWindow,难点是创建新的视图。链接1,链接2。

Q:android 通过Application类 共享全局数据?

A:看链接。

Q:如何利用系统提供的搜索框,实现搜索功能?启动Activity (A)如何向实现搜索功能的Activity(B)传递数据?

A:A 中调用onSearchRequested(),B中获取启动B的Intent对象进而取得搜索框中的值,然后自己实现搜索功能。若要有A向B传递数据需要重写onSearchRequested();方法,并使用Intent由A向B传递数据。见文章及代码。

Q:如何实现显示程序忙的等待界面?

A:在主线程中构建一个等待界面;然后在生成一个Handler对象,并重写其中处理消息的方法事项;之后在新生成的线程中做相关处理,处理完毕(或过程中)发送消息给主线程,以便协调主线程和新线程之间的关系,如主线程显示新线程处理进度。参考1;参考2.

Q:如何删除sqlite数据库中重复的记录?

A:链接1,看2楼。例子:删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people where peopleId  in 
(select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
and rowid not in 
(select min(rowid) from  people  group by peopleId  having count(peopleId )>1)

Q:如何解析XML文件?

A:参考文献1,文献2。

Q:如何实现一个文件夹,以实现简单的文件浏览功能?

A:参考文献1,文献2,源码3。

Q:如何将sqlite数据库中的内容以xml的格式备份到sd卡?

A:查询数据库,之后将查询内容使用XmlSerializer生成xml文档。参考1 Android 短信的备份与恢复(导入导出),参考2详解Android中AsyncTask的使用,参考3 Android中使用XmlSerializer拼装XML数据。

Q:当打开一个页面后,如何根据需要控制键盘的打开和关闭?

A:关闭键盘方法;打开键盘方法。

	//关闭键盘
	InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
	imm.hideSoftInputFromWindow(edReview.getWindowToken(), 0);

        //显示键盘,在onCreate()中调用
        Timer timer=new Timer();
        timer.schedule(new TimerTask(){
        	public void run(){
        		((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
        	}
        }, 50);

Q:Android 数据查询中的query函数如何使用?

A:Android 数据查询query函数参数解析。

Q:在AlertDialog中包含一个EditText,如何实现?怎么能够取得这个EditText?

A:连接1.

EditText editText = new EditText(this);
new AlertDialog.Builder(this)  
.setTitle("请输入")  
.setIcon(android.R.drawable.ic_dialog_info)  
.setView(editText )  
.setPositiveButton("确定", null)  
.setNegativeButton("取消", null)  
.show();

Q:添加页面,手机上的返回键如何等同于舍弃按钮(对应编辑页面的还原按钮)?

A:在相应的页面重写onKeyDown函数:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // do something on back.
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Q:在添加页面,按下舍弃键如何给出提示按钮?

    	//给出提示是否要舍弃,如果要舍弃则返回到MainActivity
    	AlertDialog.Builder builder = new AlertDialog.Builder(this);
    	//builder.setIcon(R.drawable.icon);
    	builder.setMessage("确定要舍弃当前条目?")
    		   .setCancelable(false) //不同通过返回按钮取消该对话框
    	       .setPositiveButton("确定",new DialogInterface.OnClickListener() {
    				public void onClick(DialogInterface dialog, int whichButton) {
    					//返回当前结果给上一个MainActivity,setResult会调用MainActivity中的onActivityResult方法
    					AddItemActivity.this.setResult(RESULT_DISCARD, null);
    					//结束当前Activity
    					AddItemActivity.this.finish();
    				}
    			})
    			.setNeutralButton("取消",new DialogInterface.OnClickListener() {
    				public void onClick(DialogInterface dialog, int whichButton) {
    					//该方法不做事,就可以关闭AlertDialog,但仍然留在本页
    				}
    			});
    	builder.show();

Q:在eclipse如何打开一个项目文件?
A:在window>showview>other>搜索package Explorer,在出现的package Explorer中,右键>import>General>Existing Projects into Workspace>browse>选择你的项目确定就可以了。

Q:如何在Activity之间传递、回传数据?

A:使用Intent;连接2。

Q:在android中,往sqlite database 中的table 插入数据的时候,如果此表的id是自增的,如何在插入数据的同时获得这个自增id字段的值?
A:对于android客户端上若不是多线程向数据库中插入数据的话可以在插入成功之后使用max(自增字段)获得该条目的id值;csdn讨论帖。

		String sql="SELECT max("+FILED1_idRecord+") FROM "+TABLE_RECORD;
		Cursor cursor=db.rawQuery(sql, null);  
		long idCurrent=0;
		cursor.moveToFirst();
		if(cursor.getCount()==1){
			idCurrent=cursor.getLong(0);
			System.out.println(idCurrent);
			//其他操作
		}

Q:sqlite如何设置id自增长?

A:使用outoincrement关键字。

Q:Android开发中插入新的Activity?

A:一个类对应一个页面描述的xml文件,之后将二者关联,最后调用新的页面。连接1。

Q:android开发环境如何搭建?

A:教程。

安卓悬浮宠物开发实录:我是如何用UnityPlayerActivity魔改出可交互桌面小精灵的 本文详细解析了如何通过Unity与Android原生开发的深度整合,开发一个可交互的桌面悬浮宠物应用。文章涵盖了混合开发环境搭建、UnityPlayerActivity深度定制、悬浮窗服务实现等关键技术点,并提供了性能优化和高级功能扩展的实践技巧,帮助开发者打造稳定且美观的安卓桌面宠物应用。 阅读详情

相关推荐

超详细 VMware Horizon 虚拟桌面VDI安装步骤

主要的目的是模拟生产环境中的共享存储。自动桌面相当于共享电脑,大家使用同一个虚拟机,对虚拟机的修改都放在用户的配置文件中,RDS桌面池相当于共享的服务器,可以多人同时连接到服务器上。1:之前已经建立好了NFS的存储,这部分配置好后,以后的虚拟机可以安装到NFS的存储中。2: 使用Composer发布系统可以解决SID,机器名冲突的问题,更重要的可以节约磁盘空间,发布的所有系统可以访问一块磁盘。26: 域选择我们之前建立的域,用户名我输入的是管理员,可以在AD域新建用户点击查找,我这里用的是管理员。

vv12345的博客 1万+

android应用开发全程实录出版

这本书经历了大半年的时间,终于可以和读者见面了。书籍由我和微度网http://www.microdu.com/其他两位资深开发者共同完成。 最近经历了很多,应该是人生的一个转折点吧。总会有一些选择,将会影响一生。放弃了一些机会,进入了在杭州的算是国内第一梯队的互联网公司,书籍如愿面市。。。不禁有些感慨。 介绍下书籍吧。 书籍主要还是讲android应用开发基础。全篇都是通过实例来

notice501的专栏 3876

手机耳机麦克风(ECM)电路设计实战:从差分走线到射频干扰滤波,一个电阻引发的灵敏度问题

本文深入探讨了手机耳机麦克风(ECM)电路设计中的关键问题,从差分走线到射频干扰滤波,特别关注了一个电阻引发的灵敏度问题。通过实际案例分析,详细解析了ECM麦克风工作原理、偏置电阻选型、差分信号传输设计以及射频干扰抑制策略,为工程师提供了实用的设计指南和优化建议。

weixin_42563415的博客 241

Android应用开发全程实录

《Android应用开发全程实录》内容上覆盖了用Android开发需要的大部分知识储备。开发者通过本书的学习轻松开发出企业级的Android应用。 《Android应用开发全程实录》以Android各个组件应用为轴,系统地介绍了Android开发的各个技术要点,如Activity、Service、Broadcast等的使用,同时配以大量实例和实战技术来帮助读者学习。...

hevenangel的博客 248

【芯片验证随心记】1.SystemVerilog中,rand和randc的区别?如何用constraint实现randc?

在SystemVerilog里,randc 的“不重复循环”特性是用一个 周期性排列器(permutation engine) 实现的,而这个引擎在 LRM 里并没有公开。我们只能在 “用户空间” 用 rand + constraint 去模仿它的行为。每次随机化只取 queue.pop_front(),用完再洗。在4次随机化内,y会依次出现0,1,2,3各一次(顺序随机)每次随机化,x可能是0-3中的任意值,可能连续多次相同。每次随机化时,在未使用的值里随机挑一个;第5次随机化时,重新生成新的排列周期。

qq_43172512的博客 342

新手入门:N-CMAPSS数据集解析与实战指南

本文详细解析了N-CMAPSS数据集的结构与应用,为新手提供航空发动机故障预测的实战指南。通过Python代码示例展示数据加载、探索和特征工程技巧,帮助读者快速掌握剩余寿命(RUL)预测的关键步骤,并分享常见问题解决方案与进阶学习路径。

weixin_29056701的博客 375

android应用开发全程实录

今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。 我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的。ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。 一个ListView通常有两个职责。 (1)将

萌萌的It人 www.itmmd.com 984

基于TL431与MOSFET的高效过压保护电路设计详解

本文详细解析了基于TL431与MOSFET的高效过压保护电路设计。通过TL431精准监测电压,驱动MOSFET作为主开关,实现快速可靠的电源保护。文章涵盖电路原理、参数计算、性能优化及实战调试要点,为电子设备提供了一套经典且成本低廉的过压保护解决方案。

weixin_29215391的博客 771

十六年全栈开发者的 Android 开发踩坑实录

code小生一个专注大前端领域的技术平台公众号回复Android加入安卓技术群作者 | Stephan Miller译者 | 马可薇策划 | 田晓旭这是一个完完全全马后炮的故事。身为拥有...

weixin_38754349的博客 366

瑞芯微RK3588开发板VSCode远程开发全攻略:从SSH配置到插件优化

本文详细介绍了如何在瑞芯微RK3588开发板上配置VSCode远程开发环境。从Ubuntu系统下的SSH服务设置、VSCode Remote-SSH扩展安装,到连接建立、基础工具链部署,再到针对ARM平台的性能优化与调试配置,提供了一套完整的实战指南,帮助开发者高效利用本地资源进行嵌入式开发。

weixin_28831341的博客 621

ESP32-IDF开发之旅 基础篇⑨ ESP-IDF的FreeRTOS任务间通信和同步

本文介绍了FreeRTOS任务间通信中的队列机制,重点讲解了队列的创建、发送和接收数据的API使用方法。文章提供了详细的技术说明和示例代码,包括xQueueCreate、xQueueSend、xQueueReceive等核心函数的参数说明和返回值解释。通过一个2生产者+1消费者的实际案例,展示了如何在ESP-IDF环境下使用FreeRTOS队列实现任务间通信。示例中包含了数据发送失败处理和接收数据验证等实用技巧,为开发者提供了可参考的实现模式。

单片机菜鸟哥的博客 427

android音视频开发面试,小程序FMP优化实录,真香

前言 再过几个月就到了毕业季,越来越多的00后就会加入到求职找工作的大潮中,而身为30岁的你是否感到了彷徨与压力……是否也能成为新机遇下的弄潮儿。 首先,先说一下百度丶腾讯丶阿里技术岗位的一般面试流程 笔试(如果内推,一般可以免去笔试) 2.电话面试(一轮,可能有电面可能没有) 3.现场面试(3-4轮) 第1轮:基础技术面试,面试内容包括:简历提问,计算机基础知识丶算法知识/面试题 第2-3轮:高级技术面试。面试的内容包括:业务相关知识丶算法知识/面试题 第4轮:Leader面试或者HR面试

m0_52308677的博客 278

135、转动惯量辨识方法

<think>我们要求根据内容生成≤150字的文章摘要。内容是关于电机控制中转动惯量辨识的方法和工程经验。摘要需简洁概括核心:转动惯量重要性、三种方法(加减速法、正弦扫频、MRAS)、工程注意点(摩擦补偿、采样同步等)、实用建议(组合使用、滤波限幅、安全保护)。字数严格≤150。需要提炼。</think>转动惯量辨识是电机控制的关键,负载变化会导致速度环失稳。工程常用加减速法(简单可靠)、正弦扫频法(高精度)、MRAS在线辨识。实操需补偿摩擦、同步采样、控制激励幅度。建议混合使用,辨识结果需滤波限幅,并设置

2401_88858637的博客 39

Android 开发实录 (二) SD 卡 传输内容

Android 开发实录   做个传送门到 实录一 [http://winfredng.iteye.com/blog/552299 ]   广告下,Ubuntu 910 真它祖母的好用.   PS: 我很懒,我也不喜欢排版,将就看吧。我尽量简单通俗,BTW 这个不是教程,所以会有不少的错漏,如果有问题可以mail我或msn找我。QQ Ubuntu 下我还没什么好的IM。图片我都会...

Android-Dev 180

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android开发环境构建实录

构建Android开发环境其实很简单,需要在开发时候注意一些细节。 本文以流水帐的形式记录了笔者安装配置Android开发环境时遇到的小问题。将需要注意的细节重点提示,以便遇到麻烦的读者有所借鉴。 1 在网上google android sdk的有关信息, 发现最新的版本号为android sdk 2.1 r04, 尝试并对比下载了不同版本,发现r04的包只有20多m,而r01就有70多m...

chongyangdu的博客 82

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【安卓绿色联盟开发者大会】闲鱼Flutter分享实录

2018-11-16 首届安卓绿色联盟开发者大会在北京国家体育馆副馆圆满落幕。来自闲鱼技术的吉丰同学,在大会上带来了主题为《基于 Flutter 高效构建跨端应用》的主题...

闲鱼技术的博客 225

Android 开发面试心得总结,实录整理(必看)

一般Android面试分为两部分:Java部分和Android部分,下面说一下自己面试过程遇到的一些具体题目和一些相关知识点。文末有福利送给大家1)JAVA基础下面列一两个遇到的题吧 类似这种的题很多,考察的都是基础知识的牢固性。所以需要自己多巩固基础。2)数据结构和算法常见的数据结构就是:数组,栈,队列,集合,映射,链表,堆,二分搜索树,红黑树。当然还有其他的一些,比如AVL平衡树等一些数据结构。我们要做的就是了解它们的实现原理和各自的优缺点。数据结构部分面试遇到最多的就是:算法算法其实就是我们平时常

1 1763

android应用开发全程实录-你有多熟悉listview?

今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。 我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的。ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。 一个ListView通常有两个职责。

notice501的专栏 2万+

Android平台的手机记账应用开发全程实录

目前Android平台的移动应用软件开发十分普遍,各行各业就需要在移动互联网时代发挥各自的行业优势,在人们生活中也离不开移动应用软件的帮助。本课程介绍的是基于移动平台的手机记账软件的开发,由于智能手机都是随身携带,智能手机用户之中有很大一部分人都有用手机记账的需求,可以能过此应用分门别类记录下在生活中的各项开支,有助于了解自己的消费习惯和特点。本课程以此项目为开发为讲解内容...

weixin_33971130的博客 353
上一篇: 找工作相关
下一篇: 设计模式学习总结
普通网友
博客等级 码龄17年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值