Android SQLiteHelper类

package com.w3cnet.db; import android.content.Context; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.Cursor; public class SqliteHelper extends SQLiteOpenHelper{ private final static String DATABASE_NAME = "db_name"; private final static int DATABASE_VERSION = 1; private final static String TABLE_NAME = "mytable"; private final static String FIELD_ID = "ID"; private final static String FIELD_NAME = "NAME"; public SqliteHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql = "Create table %s (%s integer primary key autoincrement,%s text);"; sql = String.format(sql, TABLE_NAME, FIELD_ID, FIELD_NAME); db.execSQL(sql); } @Override […]

龙生   04 May 2014
View Details

Android应用程序的四个关键点

对于一个Android应用程序来说,是由四种关键构造块组织而成的,这四种构造块分别是:Activity、Intent Receiver、Service、Content Provider 但是,并不是每一个Android应用程序都需要这四种构造块,这不是必须的,某些时候,我们只需要这四种中的几种组合成我们的应用。 当我们明确了我们的应用需要哪些构造块后,我们就需要在AndroidManifest.xml中登记这些构造块的清单。这是一个XML配置文件,这个配置文件用于定义我们的应用程序的组件、组件的功能及必要条件等。这个配置文件是每个Android应用必需的。对于AndroidMainfest.xml的Schema,我们对四种构造块做一些说明: 1、Activity Activity是Android构造块中最基本的一种,在应用中,一个 activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。例如,一个短消息应用程序将会有一个屏幕用于显示联系人列表,第二个屏幕用于写短消息,同时还会有用于浏览旧短消息及进行系统设置的屏幕。每一个这样的屏幕,就是一个activity。从一个屏幕导航到另一个屏幕是很简单的。在一些应用中,一个屏幕甚至会返回值给前一个屏幕。 当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,Android将会保留从主屏幕到每一个应用的运行屏幕。 Android使用了Intent这个特殊类,实现在屏幕与屏幕之间移动。 Intent类用于描述一个应用将会做什么事。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:MAIN(activity的门户)、VIEW、PICK、EDIT等。而动作对应的数据则以URI的形式进行表示。例如:要查看一个人的联系方式,你需要创建一个动作类型为VIEW的intent,以及一个表示这个人的URI。 与之有关系的一个类叫IntentFilter。相对于intent是一个有效的做某事的请求,一个intent filter则用于描述一个activity(或者Intent Receiver)能够操作哪些intent。一个activity如果要显示一个人的联系方式时,需要声明一个IntentFilter,这个 IntentFilter要知道怎么去处理VIEW动作和表示一个人的URI。IntentFilter需要在AndroidManifest.xml中定义。 通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity将会调用 startActivity(Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter中查找,找到最匹配myIntent的Intent对应的 activity。新的activity接收到myIntent的通知后,开始运行。当startActivity方法被调用将触发解析myIntent 的动作,这个机制提供了两个关键好处: ◆Activities能够重复利用从其它组件中以Intent的形式产生的一个请求; ◆Activities可以在任何时候被一个具有相同IntentFilter的新的Activity取代。 2、Intent Receiver 当你希望你的应用能够对一个外部的事件(如当电话呼入时,或者数据网络可用时,或者到了晚上时)做出响应,你可以使用一个Intent Receiver。虽然Intent Receiver在感兴趣的事件发生时,会使用NotificationManager通知用户,但它并不能生成一个UI。Intent Receiver在AndroidManifest.xml中注册,但也可以在代码中使用 Context.registerReceiver()进行注册。当一个intent receiver被触发时,你的应用不必对请求调用intent receiver,系统会在需要的时候启动你的应用。各种应用还可以通过使用Context.broadcastIntent()将它们自己的 intent receiver广播给其它应用程序。 3、Service 一个Service是一段长生命周期的,没有用户界面的程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个 activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。另外,我们还可以通过使用Context.bindService()方法,连接到一个service上(如果这个service还没有运行将启动它)。当连接到一个service之后,我们还可以service提供的接口与它进行通讯。拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。 4、Content Provider 应用程序能够将它们的数据保存到文件中、SQL数据库中,甚至是任何有效的设备中。当你想将你的应用数据与其它的应用共享时,Content Provider将会很有用。一个Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。   from:http://mobile.51cto.com/mobile-114018.htm

龙生   25 Apr 2014
View Details

Android应用开发入门五问

1. Android是什么? Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。 Android 作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。 2. Android用什么语言开发的? Android的SDK(software development kit)是Java的,将来可能有其他语言版本。 SDK下载地址:http://code.google.com/android/download.html 3. Android模拟器是用什么开发的? Android的核心是Java虚拟机,为了高效,目前来看,google是不会支持其它语言的开发的。不过,android的模拟器是用qeum开发的,它的镜像文件分成4部分放在tools目录下,如果我们将qeum修改一下,说不定能玩一下它的linux系统。 4. 怎么进行Android开发? Android支持在模拟器上运行和调试应用软件,有兴趣的朋友可以下载他的SDK(software development kit)来了解android的界面;然后应该学习android的基本框架和应用程序的构成;最后就可以试着在sdk的API Demo的基础上开发自己的application了。 希望刚刚了解软件开发的朋友不要着急,一步一个脚印,一定会茁壮成长,开发优秀的application的。 5. 有哪些好的网络资源可供Android学习者用的呢? 首先,最好的最基本的学习资料无疑是SDK的文档了,也就是这个地方(http://code.google.com/intl/zh-CN/android/documentation.html)的介绍,它循序渐进的介绍了Android的各个方面。 其次,大家可能有对android文档不太理解的地方,或者自己的想法等等,完全可以通过下面的groups进行咨询和交流: ◆Android Beginner    http://groups.google.com/group/android-beginners?lnk= ◆Developper Groups   http://groups.google.com/group/android-developers ◆Android Internals   http://groups.google.com/group/android-internals?lnk= ◆Android Porting     http://groups.google.com/group/android-porting?lnk= 【编辑推荐】 Android创建和使用数据库详细指南 细看Google Android的开源姿态 分析称Android 2012年超越iPhone平台 from:http://mobile.51cto.com/android-114004.htm

龙生   25 Apr 2014
View Details

UEditor表单提交和后台交互详解

最后更新对应的版本:1.2.5.1 教程描述: 富文本编辑器的使用开发中,表单提交有多种场景,编辑器初始化有新增文章和编辑就文章两种场景,提交表单有普通提交也有ajax提交表单两种情景,此教程详细讲解这几种场景下如何保证后台正确拿到数据。 一、编辑器内容初始化(即往编辑器中设置富文本) 场景一:写新文章,编辑器中预置提示、问候等内容。 在editor_config.js文件中找到initialContent参数,设置其值为需要的提示或者问候语即可,如initialContent:’欢迎使用UEditor!’。 场景二:编辑旧文章,从数据库中取出富文本放置到编辑器中。 显然,编辑文章时需要从后台数据库中取出大段富文本,如果仍然采用场景一中的方式去设置初始值的话,必然会带来诸如引号匹配被截断等问题,因此需要采用另外一种方式去设置,如下代码所示: <script type="text/plain" id="editor">     //从数据库中取出文章内容打印到此处 </script> 复制代码 此处采用了script标签作为编辑器容器对象,并设置了其类型是纯文本,从而在避免了标签内部JS代码执行的同时解决了部分同学在使用传统的textarea标签作为容器所带来的一次额外转码问题,只要此处设置的内容不为空字符串,内容会覆盖配置文件的initialContent参数的值。 二、提交编辑器内容至后端 场景一:在编辑器所在的Form中存在提交按钮,提交动作由点击此按钮完成。 该场景适用于最普通的场合,没有太大问题需要注意,仅三点说明: 1) 默认情况下提交到后台的表单名称是 "editorValue",在editor_config.js中可以配置,参数名为textarea。 2) 可以在容器标签(即script标签)上设置name属性,以覆盖editor_config.js中的默认配置。实例代码如下,此处的 myContent将成为新的提交表单名称: <form action="" method="post">     <script type="text/plain" id="editor" name="myContent"></script>     <input type="submit" name="submit" value="提交"> </form> 复制代码 3)后端接收程序可以通过如下几种方式来获取编辑器中的富文本内容。 //PHP获取: $_POST["myContent"] //JSP获取: request.getParameter("myContent"); //ASP获取: request("myContent"); //NET获取: context.Request.Form["myContent"]; 复制代码     场景二:编辑器所在的Form中不存在提交按钮,提交动作由外部事件触发。 该场景适用于站点前端交互较多的场合,需要注意的事项主要是在触发form提交动作之前执行编辑器内容同步操作。一般的代码模式如下所示: //满足提交条件时同步内容并提交,此处editor为编辑器实例 if(editor.hasContents()){ //此处以非空为例     editor.sync();       //同步内容     someForm.submit();   //提交Form } 复制代码 另外,如果是js代码动态去获取表单内容,可以直接调用editor.getContent()方法。 场景三:编辑器不在任何Form中,提交动作由外部事件触发。 该场景使用不多,但特殊时候可能需要。UEditor也提供了对应的处理方案,基本逻辑跟场景二一样,只是在执行同步操作的时候需要传入提交form的id,如editor.sync(myFormID)即可,其他同场景二。还可以使用editor.getContent()方法手动设置。   from:http://www.ueditorbbs.com/forum.php?mod=viewthread&tid=17618&extra=&ordertype=2

龙生   20 Apr 2014
View Details

ahjesus Axure RP 7.0注册码

ahjesus Axure RP 7.0注册码 用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9IKu+kgKh79FL6IyPD6lK7G6+tqEV4LG from:http://www.cnblogs.com/ahjesus/archive/2013/12/18/3479865.html

龙生   17 Apr 2014
View Details

20 个免费的 iPhone 应用设计 PSD 资源

有人说小编我偷懒,其实真不是。真没什么好说的。关键字:iPhone PSD,免费! Fresh IPhone UI Kit 20 iPhone Angles iPhone 5 Grid PSD iPhone Wood Bookcase UI PSD Leather IOS Menubar PSD Free IPhone UITabBar PSD AppView: Free iPhone App UI Theme iPhone 4 Icon PSD file Free iPhone Toolbar Icons iPhone Interface with Slider Selector Apple IOS 7 Status Bar PSD Pixel Perfect App Icons iOS 5 GUI PSD (iPhone 4S) Mini App Mockup (PSD) Retina iOS App Icon Template PSD iPhone 4 UI Kit (PSD) iPhone App Template IOS 6 GUI PSD Passbook IOS6 App UI […]

龙生   17 Apr 2014
View Details

通过iisapp命令查找pid解决IIS的CUP占用率过高问题

我们先来看看iisapp的一些参数 iisapp -a pid 可以查出对应的域名 反之 iisapp -p domain 查pid的语法 iisapp [a/ AppPoolName | /p AppPoolID] 参数 /a AppPoolName 指定特定应用程序池的名称。(可选项) /p AppPoolID 按 ID 号指定应用程序池。(可选项) 注释 如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序。 仅当使用 /s 时, 才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。 Iisext.vbs 执行 IIS 管理器中可用的相同操作。可使用任何一种工具管理 IIS 网站。 发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。 命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。 说明一下:w3wp.exe为IIS里面的应用程序池进程,有几个进程就会有几个w3wp.exe,会发现某个w3wp.exe进程CPU和内存都高得可怕。 好,那我们来看看具体实践中该如何解决首先是windows2003 首先打开windows任务管理器–点击查看—选择列–把PID给钩上,就可以在进程里面看到PID的选项了。 点击运行–输入CMD–输入iisapp -a—很奇怪,这里显示PID的,是用弹出窗口一个个出现的,不知道别人会不,,反正我就是这样,太不利于查看了。 注意,希望人BLOG听说第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池,这个我就没测试了。 这样吧,先再CMD里面输入:cd %systemroot%\system32 然后再输入:cscrIPt.exe iisapp.vbs -a CMD窗口显示如下: W3WP.exe PID: 2488 AppPoolId: AppPool #26 W3WP.exe PID: […]

龙生   15 Apr 2014
View Details

SqlServer运行时占用高CPU问题查询

经常在论坛看到问高CPU的问题,简单的总结一下。 1,首先你要确认,高CPU是不是是SQL SERVER进程引起的还是别的进程引起的,这个很容易,直接看任务管理器。 2,如果从任务管理器看出高CPU确实是用SQL SERVER引起的。 3,如果是SQL SERVER引起的。   3.1SQL SERVER的一个比较BAD的执行计划引起的,比如说缺少必要的INDEX,引起了hash  join什么的。这个也分成2种: 1,造成高CPU的语句已经执行结束,这个时候可以用下面的语句来检查。 select       highest_cpu_queries.plan_handle,       highest_cpu_queries.total_worker_time,      q.dbid,      q.objectid,      q.number,      q.encrypted,      q.[text]  from       (select top 50           qs.plan_handle,           qs.total_worker_time      from           sys.dm_exec_query_stats qs      order by qs.total_worker_time desc) as highest_cpu_queries      cross apply sys.dm_exec_sql_text(plan_handle) as q  order by highest_cpu_queries.total_worker_time desc 解释一下sys.dm_exec_query_stats: sys.dm_exec_query_stats返回缓存查询计划的聚合性能统计信息。每个查询计划在该视图中对应一行,并且行的生存期与计划本身相关联。在从缓存删除计划时,也将从该视图中删除对应行。 可查看帮助文档:ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/tsqlref9/html/eb7b58b8-3508-4114-97c2-d877bcb12964.htm 3.1.2,造成高CPU的语句正在运行,这个时候可以用下面的语句来检查。 SELECT  st.text, qp.query_plan, rq.*  FROM sys.dm_exec_requests RQ CROSS APPLY sys.dm_exec_sql_text(rq.sql_handle) as st  CROSS APPLY sys.dm_exec_query_plan(rq.plan_handle) as qp order by RQ.CPU_time desc 3.2 开启了SQL profiler. 通过3.1.2可以看到 sp_trace_getdata这个SP在运行。 […]

龙生   15 Apr 2014
View Details

sql server常用语句总结

— 查看性能记数器       SELECT * FROM sys.dm_os_performance_counters        — 执行过的线程所遇到的所有等待(不是当前正在运行的线程, 为自上次重置统计信息或启动服务器以来累积的数据),可分析靠前的几个等待较高的事件。   select * from sys.dm_os_wait_stats order by wait_time_ms desc 该动态视图的细节,请查看帮助文档.        — 重置该动态视图 DBCC SQLPERF ('sys.dm_os_wait_stats', CLEAR); GO            — 正在等待某些资源的任务的等待队列    select * from sys.dm_os_waiting_tasks order by wait_duration_ms desc                       内存使用:   查看当前由 SQL Server 分配的内存对象(KB): select sum((page_size_in_bytes/1024)*max_pages_allocated_count) from sys.dm_os_memory_objects; 查看系统内存当前信息: select * from sys.dm_os_sys_memory (这个动态视图只在sql 2008中才有) select  cpu_count, hyperthread_ratio, scheduler_count, physical_memory_in_bytes / 1024 / 1024 […]

龙生   15 Apr 2014
View Details

常用SQL语句

--前10名其他等待类型 SELECT TOP 10 * from sys.dm_os_wait_stats ORDER BY wait_time_ms DESC SELECT *FROM sys.dm_os_wait_stats WHERE wait_type like 'PAGELATCH%' OR wait_type like 'LAZYWRITER_SLEEP%' --CPU的压力 SELECT scheduler_id, current_tasks_count, runnable_tasks_count FROM sys.dm_os_schedulers WHERE scheduler_id < 255 --表现最差的前10名使用查询 SELECT TOP 10 ProcedureName = t.text, ExecutionCount = s.execution_count, AvgExecutionTime = isnull ( s.total_elapsed_time / s.execution_count, 0 ), AvgWorkerTime = s.total_worker_time / s.execution_count, TotalWorkerTime = s.total_worker_time, MaxLogicalReads = s.max_logical_reads, MaxPhysicalReads = s.max_physical_reads, MaxLogicalWrites = s.max_logical_writes, CreationDateTime = s.creation_time, CallsPerSecond = isnull ( s.execution_count / datediff ( second , s.creation_time, getdate ()), 0 ) FROM […]

龙生   14 Apr 2014
View Details
1 316 317 318 410