- 【开源分享】Conan:C/C++开发者的包管理神器
智驾
开源分享c++Conan包管理
文章目录一、现实中的依赖地狱二、Conan是什么?三、Conan的核心优势四、实际项目应用示例1.安装Conan2.创建项目结构3.编写conanfile.txt4.安装依赖5.CMake构建五、六大核心优势详解优势1:依赖隔离优势2:构建可重复性优势3:构建加速优势4:多编译器支持优势5:企业级私有仓库优势6:灵活的构建模式六、适用场景对比七、常见误区提醒八、企业级应用案例九、学习资源导航一、现
- 优秀开源库muduo阅读笔记
VictorLeo
网路编程服务端编程muduo
muduo阅读笔记目录设计经验和思想服务端编程设计std::bind和std::function(基于closure闭包的编程)参考资料muduo开源库的笔记,比较杂,没有详细整理,现在就这么杂乱放着,等真的需要再好好整理。设计经验和思想对象构造做到线程安全,唯一的要求就是不要暴露this指针.即不要在构造函数中注册任何回调;也不要在构造函数中把this传给跨线程的对象;即便在构造函数的最后一行也
- Kafka消息轨迹追踪:分布式系统调试利器
大数据洞察
kafkalinq分布式ai
Kafka消息轨迹追踪:分布式系统调试利器关键词Kafka、消息轨迹追踪、分布式系统、调试、消息处理、事件溯源摘要本文聚焦于Kafka消息轨迹追踪这一分布式系统调试的关键技术。首先介绍Kafka消息轨迹追踪的概念基础,包括其在分布式系统中的背景、发展历史以及问题空间。接着阐述其理论框架,从第一性原理进行推导,并分析理论局限性和竞争范式。在架构设计方面,对系统进行分解,构建组件交互模型并可视化展示。
- 1143 Lowest Common Ancestor (30 分)
Thelowestcommonancestor(LCA)oftwonodesUandVinatreeisthedeepestnodethathasbothUandVasdescendants.Abinarysearchtree(BST)isrecursivelydefinedasabinarytreewhichhasthefollowingproperties:Theleftsubtreeofan
- java数据保存到文件_Java把数据存储到本地txt文件
永不放弃yes
java数据保存到文件
码农公社210.net.cn210=102410月24日一个重要的节日--码农(程序员)节Java把数据存储到本地txt文件java存储数据,方便打印日志等1、覆盖以前的数据try{FilewriteName=newFile("D:\\data.txt");//相对路径,如果没有则要建立一个新的output.txt文件if(!writeName.exists()){writeName.create
- python——异常
程丞Q香
pythonpython开发语言pycharm异常raisetryexcept
1、定义异常是在代码执行过程中发生的,它会影响到程序的正常运行。python程序不会自动来进行异常处理。python中常见异常父类:Exception。2、常见异常TypeError:类型错误异常。ValueError:值的异常。KeyError:键的异常。IndexError:索引异常。SyntaxError:语法异常。FileNotFoundError:读取文件内容,如果这个文件不存在,就会报
- 1143 Lowest Common Ancestor (30 分)
依久_
PAT甲
Thelowestcommonancestor(LCA)oftwonodesUandVinatreeisthedeepestnodethathasbothUandVasdescendants.Abinarysearchtree(BST)isrecursivelydefinedasabinarytreewhichhasthefollowingproperties:Theleftsubtreeofan
- 1151 LCA in a Binary Tree (30)
Thelowestcommonancestor(LCA)oftwonodesUandVinatreeisthedeepestnodethathasbothUandVasdescendants.Givenanytwonodesinabinarytree,youaresupposedtofindtheirLCA.InputSpecification:Eachinputfilecontainsonete
- 基于RapidOCR与LangChain的PDF图文内容解析器开发
要努力啊啊啊
RAG系统开发指南langchainpdfpython
fromtypingimportListfromlangchain.document_loaders.unstructuredimportUnstructuredFileLoaderfromdocument_loaders.ocrimportget_ocrimporttqdmclassRapidOCRPDFLoader(UnstructuredFileLoader):def_get_element
- Qt Creator工具编译器配置
Vitta_U
qt开发语言
1、打开QtCreator,工具-->选项2、选择"编译器",Manual配置编译器。初始化填入“C:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\VC\bin\amd64\cl.exe”,选择64位amd64。ABI根据msvc版本进行选择msvc2015.3、新建项目编译测试
- 多bin技术:为LoRa项目赋能的高效远程升级方案
门思科技
技术分享网络服务器运维
在物联网(IoT)领域,设备的远程维护和固件升级(OTA升级)是保障系统稳定、持续优化的重要环节。然而,对于采用LoRa或LoRaWAN等低功耗广域网(LPWAN)技术的项目而言,受限于带宽窄、数据包尺寸小(通常最大255字节)等特点,传统的大容量固件升级方式并不适用。为了更高效、更安全地实现远程升级,多bin方案(multi-binapproach)应运而生,成为LoRa项目不可或缺的关键技术之
- 【如何设置ssh免密登录】
岁月玲珑
linuxsshgithubgit
设置SSH免密登录能够让你在不输入密码的情况下,通过SSH协议安全登录远程服务器。下面为你详细介绍设置步骤:1.生成SSH密钥对(若未生成)要生成SSH密钥对,可在本地终端执行以下命令:ssh-keygen-trsa-b4096-C"
[email protected]"当系统提示你“Enterafileinwhichtosavethekey”时,你可以直接按回车键使用默认文件位置,也可以
- pytorch底层原理学习--Libtorch
libtorchlibtorch是PyTorch的C++实现版本,可以认为所有的pytorch底层都是由c++实现,而pytorch的所有C++实现就叫libtorch,也就是我们在pytorch官网getstart页面下载的c++pytorch版本。我们用python写的pytorch神经网络代码都会通过pybind11将python转换为libtorch的C++代码。[官方文档](PyTorc
- Kafka日常运维命令总结
我科绝伦(Huanhuan Zhou)
kafka运维分布式
一、集群管理前台启动Brokerbin/kafka-server-start.sh/server.properties关闭方式:Ctrl+C后台启动Brokerbin/kafka-server-start.sh-daemon/server.properties关闭Brokerbin/kafka-server-stop.sh二、Topic管理操作命令创建Topicbin/kafka-topics.s
- Linux 系统运行单例模式
weixin_40723768
Linuxlinux
#include#include#include#include#include#include#include#defineLOCK_FILE"./App.pid"intmain(void){charstr[20]={0};intfd;/*openfile*/fd=open(LOCK_FILE,O_WRONLY|O_CREAT,666);if(-1==fd){perror("openerror"
- Linux进程单例模式运行
bantinghy
代码片段linux单例模式javascript
Linux进程单例模式运行#include#include#include#include#include#include#include#includeintwrite_pid(constchar*pidFile){charstr[32]={0};intfd=open(pidFile,O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR);if(fd<0){print
- Python通过字符串调用函数_python 面向对象 根据字符串调动对应函数(1)
m0_61418142
python数据库linux
textprocess(file,language)但是textprocess(file=‘data.txt’,language=‘english’)language(text)TypeError:‘str’objectisnotcallable百度谷歌一番,我查到以下几种方式####1-字典最简单,易上手的方式,使用字典配对。defchinese(text):print(‘jieba分词’)de
- 【python第三方库】Hydra库在AI项目中使用简介
文章目录一、前言1.omegaconf与Hydra库的关系2.Hydra优势二、实际用法展示1.项目结构2.配置文件3.Python代码4.运行示例4.1默认配置运行4.2从命令行覆盖配置4.3多运行模式5.超参数优化5.1安装Optuna插件5.2修改config.yaml5.3运行超参数优化一、前言Hydra是一个开源Python框架,可简化研究和其他复杂应用程序的开发。关键特性是能够通过组合
- js 允许生成特殊的变量名 基于字符集编码混淆的 XSS 绕过漏洞 -- Google 2025 Lost In Transliteration
A5rZ
网络安全
题目实现了一个字符转换工具在/file路由用户可以通过ct参数自定义Content-Type//文件路由-提供静态文件服务(JS和CSS),支持内容类型验证app.MapGet("/file",(stringfilename="",string?ct=null,string?q=null)=>{//根据文件名查找对应的模板文件string?template=FindFile(filename);i
- LeetCode高频100题刷题记录之——二叉树的中序遍历
巍巍微澜
Leetcode刷题记录leetcode算法python二叉树
1问题描述给定一个二叉树,按照左,中,右的顺序遍历这棵树。2代码实现思路很简单,从左到右遍历这颗二叉树即可。2.1递归代码实现#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=right#
- OpenCV CUDA模块设备层-----双曲正切函数tanh()
村北头的码农
OpenCVopencv人工智能计算机视觉
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述OpenCV的CUDA模块(cudev)中的一个设备函数,用于在GPU上对uchar4类型的向量(如RGBA像素)进行双曲正切(hyperbolictangent)运算,并返回一个float4类型的结果。函数原型__device____forceinline__f
- :checked=“true“
咔咔咔索菲斯
vue.js前端javascript
在Vue中,:checked="true"是通过v-bind(缩写:)绑定表单元素的checked属性,使其默认处于选中状态。具体说明如下:1.作用:动态设置复选框/单选框的选中状态-当isSelected为true时,复选框默认选中;为false时取消选中。-单选框通过表达式userGender==='male'的布尔值判断是否选中。2.与不使用v-bind的区别-:checked="true"
- 算法学习day6----双指针-最长不重复子序列
阴暗老鼠人
学习
Givenanintegersequenceoflengthn,pleasefindthelongestcontinuousintervalwithoutduplicatenumbersandoutputitslength.Thefirstlinecontainsanintegern.Thesecondlinecontainsnintegers(allwithintherangeof0to105)
- OpenCV CUDA模块设备层-----二值化阈值操作函数thresh_binary_func()
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述OpenCV的CUDA模块(cudev)中的一个设备和主机通用函数(host/devicefunction),用于创建一个二值化阈值操作函数对象(functor)。这个函数返回一个仿函数(functor),用于在GPU上执行二值化阈值处理(ThresholdBin
- 在el-image组件的预览中添加打印功能(自定义功能)
weixin_45907435
vue.jsjavascript前端
思路:给图片添加点击事件,通过js获取预览的工具栏,在工具栏中添加自定义按钮及事件1、html中image标签2、再点击事件中,通过js操作dom,添加自定义按钮事件handleImageClick(fileUrl){this.$nextTick(()=>{constviewer=document.querySelector('.el-image-viewer__wrapper')//工具栏的do
- Vue基础(19)_Vue内置指令
风之舞_yjf
Vuevue.js前端javascript
我们学过的vue内置指令:v-bind:单向绑定解析表达式,可简写为::xxxv-model:双向数据绑定v-for:遍历数组/对象/字符串v-on:绑定事件监听,可简写为@v-if:条件渲染(动态控制节点是否存在)v-else:条件渲染(动态控制节点是否存在)v-show:条件渲染(动态控制节点是否展示)其他指令:v-text指令:1、作用:向其所在的节点中渲染文本内容。2、与插值语法的区别:v
- CORS 问题解决--threejs 相关01
CORS问题解决–threejs相关01解决方法"C:\ProgramFiles\Google\Chrome\Application\chrome.exe"–disable-web-security--user-data-dir=C:\ProgramFiles\Google\Chrome\Application注:C:\ProgramFiles\Google\Chrome\Application为
- Vue3 Lifecycle Hooks
Vue3生命周期钩子详解Vue3的生命周期钩子分为OptionsAPI和CompositionAPI两种使用方式,核心流程相同但语法有差异。以下是完整生命周期流程和每个钩子的详细说明:CompositionAPI生命周期流程图实际参数{{count}}import{ref,onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmoun
- IDEA相关配置记录
栖霖涧
intellij-ideajavaide
IDEA相关配置记录参考链接:参考链接:1、安装jdkD:\ProgramFiles\Java\jdk-21https://blog.csdn.net/2302_81410974/article/details/1420314162、安装mavenD:\Java\workspace-maven\apache-maven-3.9.10.├──LICENSE├──NOTICE├──README.txt
- springboot项目中构建树结构数据返回
两点王爷
java数据结构数据处理springbootjava树结构
需要构建一个树结构返回(ID,PID),具体示例如下1、创建实体数据表--测试省份数据表DROPTABLEIFEXISTStest_province;CREATETABLEIFNOTEXISTStest_province(idBIGINT(32)NOTNULLAUTO_INCREMENTPRIMARYKEYCOMMENT'表ID',pidBIGINT(32)COMMENT'父级ID',nameVA
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIlinuxPHPandroid
╔-----------------------------------╗┆
- zookeeper admin 笔记
braveCS
zookeeper
Required Software
1) JDK>=1.6
2)推荐使用ensemble的ZooKeeper(至少3台),并run on separate machines
3)在Yahoo!,zk配置在特定的RHEL boxes里,2个cpu,2G内存,80G硬盘
数据和日志目录
1)数据目录里的文件是zk节点的持久化备份,包括快照和事务日
- Spring配置多个连接池
easterfly
spring
项目中需要同时连接多个数据库的时候,如何才能在需要用到哪个数据库就连接哪个数据库呢?
Spring中有关于dataSource的配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
&nb
- Mysql
171815164
mysql
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作
- CommonDAO(公共/基础DAO)
g21121
DAO
好久没有更新博客了,最近一段时间工作比较忙,所以请见谅,无论你是爱看呢还是爱看呢还是爱看呢,总之或许对你有些帮助。
DAO(Data Access Object)是一个数据访问(顾名思义就是与数据库打交道)接口,DAO一般在业
- 直言有讳
永夜-极光
感悟随笔
1.转载地址:http://blog.csdn.net/jasonblog/article/details/10813313
精华:
“直言有讳”是阿里巴巴提倡的一种观念,而我在此之前并没有很深刻的认识。为什么呢?就好比是读书时候做阅读理解,我喜欢我自己的解读,并不喜欢老师给的意思。在这里也是。我自己坚持的原则是互相尊重,我觉得阿里巴巴很多价值观其实是基本的做人
- 安装CentOS 7 和Win 7后,Win7 引导丢失
随便小屋
centos
一般安装双系统的顺序是先装Win7,然后在安装CentOS,这样CentOS可以引导WIN 7启动。但安装CentOS7后,却找不到Win7 的引导,稍微修改一点东西即可。
一、首先具有root 的权限。
即进入Terminal后输入命令su,然后输入密码即可
二、利用vim编辑器打开/boot/grub2/grub.cfg文件进行修改
v
- Oracle备份与恢复案例
aijuans
oracle
Oracle备份与恢复案例
一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与
- JavaEE开源快速开发平台G4Studio v5.0发布
無為子
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V5.0版本已经正式发布。
访问G4Studio网站
http://www.g4it.org
2013-04-06 发布G4Studio_V5.0版本
功能新增
(1). 新增了调用Oracle存储过程返回游标,并将游标映射为Java List集合对象的标
- Oracle显示根据高考分数模拟录取
百合不是茶
PL/SQL编程oracle例子模拟高考录取学习交流
题目要求:
1,创建student表和result表
2,pl/sql对学生的成绩数据进行处理
3,处理的逻辑是根据每门专业课的最低分线和总分的最低分数线自动的将录取和落选
1,创建student表,和result表
学生信息表;
create table student(
student_id number primary key,--学生id
- 优秀的领导与差劲的领导
bijian1013
领导管理团队
责任
优秀的领导:优秀的领导总是对他所负责的项目担负起责任。如果项目不幸失败了,那么他知道该受责备的人是他自己,并且敢于承认错误。
差劲的领导:差劲的领导觉得这不是他的问题,因此他会想方设法证明是他的团队不行,或是将责任归咎于团队中他不喜欢的那几个成员身上。
努力工作
优秀的领导:团队领导应该是团队成员的榜样。至少,他应该与团队中的其他成员一样努力工作。这仅仅因为他
- js函数在浏览器下的兼容
Bill_chen
jquery浏览器IEDWRext
做前端开发的工程师,少不了要用FF进行测试,纯js函数在不同浏览器下,名称也可能不同。对于IE6和FF,取得下一结点的函数就不尽相同:
IE6:node.nextSibling,对于FF是不能识别的;
FF:node.nextElementSibling,对于IE是不能识别的;
兼容解决方式:var Div = node.nextSibl
- 【JVM四】老年代垃圾回收:吞吐量垃圾收集器(Throughput GC)
bit1129
垃圾回收
吞吐量与用户线程暂停时间
衡量垃圾回收算法优劣的指标有两个:
吞吐量越高,则算法越好
暂停时间越短,则算法越好
首先说明吞吐量和暂停时间的含义。
垃圾回收时,JVM会启动几个特定的GC线程来完成垃圾回收的任务,这些GC线程与应用的用户线程产生竞争关系,共同竞争处理器资源以及CPU的执行时间。GC线程不会对用户带来的任何价值,因此,好的GC应该占
- J2EE监听器和过滤器基础
白糖_
J2EE
Servlet程序由Servlet,Filter和Listener组成,其中监听器用来监听Servlet容器上下文。
监听器通常分三类:基于Servlet上下文的ServletContex监听,基于会话的HttpSession监听和基于请求的ServletRequest监听。
ServletContex监听器
ServletContex又叫application
- 博弈AngularJS讲义(16) - 提供者
boyitech
jsAngularJSapiAngularProvider
Angular框架提供了强大的依赖注入机制,这一切都是有注入器(injector)完成. 注入器会自动实例化服务组件和符合Angular API规则的特殊对象,例如控制器,指令,过滤器动画等。
那注入器怎么知道如何去创建这些特殊的对象呢? Angular提供了5种方式让注入器创建对象,其中最基础的方式就是提供者(provider), 其余四种方式(Value, Fac
- java-写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。
bylijinnan
java
public class CommonSubSequence {
/**
* 题目:写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。
* 写一个版本算法复杂度O(N^2)和一个O(N) 。
*
* O(N^2):对于a中的每个字符,遍历b中的每个字符,如果相同,则拷贝到新字符串中。
* O(
- sqlserver 2000 无法验证产品密钥
Chen.H
sqlwindowsSQL ServerMicrosoft
在 Service Pack 4 (SP 4), 是运行 Microsoft Windows Server 2003、 Microsoft Windows Storage Server 2003 或 Microsoft Windows 2000 服务器上您尝试安装 Microsoft SQL Server 2000 通过卷许可协议 (VLA) 媒体。 这样做, 收到以下错误信息CD KEY的 SQ
- [新概念武器]气象战争
comsci
气象战争的发动者必须是拥有发射深空航天器能力的国家或者组织....
原因如下:
地球上的气候变化和大气层中的云层涡旋场有密切的关系,而维持一个在大气层某个层次
- oracle 中 rollup、cube、grouping 使用详解
daizj
oraclegroupingrollupcube
oracle 中 rollup、cube、grouping 使用详解 -- 使用oracle 样例表演示 转自namesliu
-- 使用oracle 的样列库,演示 rollup, cube, grouping 的用法与使用场景
--- ROLLUP , 为了理解分组的成员数量,我增加了 分组的计数 COUNT(SAL)
- 技术资料汇总分享
Dead_knight
技术资料汇总 分享
本人汇总的技术资料,分享出来,希望对大家有用。
http://pan.baidu.com/s/1jGr56uE
资料主要包含:
Workflow->工作流相关理论、框架(OSWorkflow、JBPM、Activiti、fireflow...)
Security->java安全相关资料(SSL、SSO、SpringSecurity、Shiro、JAAS...)
Ser
- 初一下学期难记忆单词背诵第一课
dcj3sjt126com
englishword
could 能够
minute 分钟
Tuesday 星期二
February 二月
eighteenth 第十八
listen 听
careful 小心的,仔细的
short 短的
heavy 重的
empty 空的
certainly 当然
carry 携带;搬运
tape 磁带
basket 蓝子
bottle 瓶
juice 汁,果汁
head 头;头部
- 截取视图的图片, 然后分享出去
dcj3sjt126com
OSObjective-C
OS 7 has a new method that allows you to draw a view hierarchy into the current graphics context. This can be used to get an UIImage very fast.
I implemented a category method on UIView to get the vi
- MySql重置密码
fanxiaolong
MySql重置密码
方法一:
在my.ini的[mysqld]字段加入:
skip-grant-tables
重启mysql服务,这时的mysql不需要密码即可登录数据库
然后进入mysql
mysql>use mysql;
mysql>更新 user set password=password('新密码') WHERE User='root';
mysq
- Ehcache(03)——Ehcache中储存缓存的方式
234390216
ehcacheMemoryStoreDiskStore存储驱除策略
Ehcache中储存缓存的方式
目录
1 堆内存(MemoryStore)
1.1 指定可用内存
1.2 驱除策略
1.3 元素过期
2 &nbs
- spring mvc中的@propertysource
jackyrong
spring mvc
在spring mvc中,在配置文件中的东西,可以在java代码中通过注解进行读取了:
@PropertySource 在spring 3.1中开始引入
比如有配置文件
config.properties
mongodb.url=1.2.3.4
mongodb.db=hello
则代码中
@PropertySource(&
- 重学单例模式
lanqiu17
单例Singleton模式
最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。
第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。
单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式
静态内部类方式:
package test.pattern.singleton.statics;
publ
- .NET开源核心运行时,且行且珍惜
netcome
java.net开源
背景
2014年11月12日,ASP.NET之父、微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET 扩展为可在 Linux 和 Mac OS 平台上运行。.NET核心运行时将基于MIT开源许可协议发布,其中将包括执行.NET代码所需的一切项目——CLR、JIT编译器、垃圾收集器(GC)和核心
- 使用oscahe缓存技术减少与数据库的频繁交互
Everyday都不同
Web高并发oscahe缓存
此前一直不知道缓存的具体实现,只知道是把数据存储在内存中,以便下次直接从内存中读取。对于缓存的使用也没有概念,觉得缓存技术是一个比较”神秘陌生“的领域。但最近要用到缓存技术,发现还是很有必要一探究竟的。
缓存技术使用背景:一般来说,对于web项目,如果我们要什么数据直接jdbc查库好了,但是在遇到高并发的情形下,不可能每一次都是去查数据库,因为这样在高并发的情形下显得不太合理——
- Spring+Mybatis 手动控制事务
toknowme
mybatis
@Override
public boolean testDelete(String jobCode) throws Exception {
boolean flag = false;
&nbs
- 菜鸟级的android程序员面试时候需要掌握的知识点
xp9802
android
熟悉Android开发架构和API调用
掌握APP适应不同型号手机屏幕开发技巧
熟悉Android下的数据存储
熟练Android Debug Bridge Tool
熟练Eclipse/ADT及相关工具
熟悉Android框架原理及Activity生命周期
熟练进行Android UI布局
熟练使用SQLite数据库;
熟悉Android下网络通信机制,S