自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

闷骚的Gopher

分享Go语言的学习与使用心得,Gopher们欢快~

  • 博客(56)
  • 收藏
  • 关注

原创 Android中使用Service的几点注意

(1) service 是运行在主线程中的,所以一个非常耗时间的操作(比如下载)会阻塞主线程(即UI线程)。可以通过在 service 中创建一个单独的线程来解决这个问题。(2) service 是会被系统杀死的,如果系统觉得内存不足的话,就可能会杀掉你的 service。如果你的service绑定着一个正在于用户交互中的组件(比如activity),那么系统就不会优先杀掉这个serv

2014-03-25 15:03:50 1165

原创 Android不阻塞的UI线程的方法

Android中的UI线程也是应用的主线程。顾名思义,UI线程主要负责界面的刷新与管理,向onKeyDown()这样的系统回调也都在UI线程中(主线程)中被执行。这个线程是否在流畅的运行直接关系到当前的App的用户体验。例如:如果一个按钮被点击后会执行某个非常耗时间的操作(比如下载),那么用户单击了这个按钮后,界面会发生卡顿现象,直到这个非常耗时间的操作执行完毕界面才会恢复到能与用户交

2014-03-24 20:38:07 3975

翻译 Android中的进程(Process)

sadfasfda

2014-03-22 23:00:01 1566

原创 Android中的Intent

asdfa

2014-03-20 13:00:55 1213

原创 用Golang自己构造ICMP数据包

ICMP是用来对网络状况进行反馈的协议,可以用来侦测网络状态或检测网路错误。限于当前Golang在网络编程方面的代码稀缺,资料甚少,所以分享一个用Golang来构造ICMP数据包并发送ping程序的echo消息的实例:package mainimport ( "bytes" "encoding/binary" "fmt" "net")type ICMP struc

2014-03-18 21:41:51 12562 4

原创 用Golang编写的网际校验和算法

func CheckSum(data []byte) uint16 { var ( sum uint32 length int = len(data) index int ) //以每16位为单位进行求和,直到所有的字节全部求完或者只剩下一个8位字节(如果剩余一个8位字节说明字节数为奇数个) for length > 1 { sum += uint32(data[i

2014-03-18 20:12:59 3406 1

翻译 Android如何给不同配置机器引入对应的资源文件

我们都知道开发Android App的时候会把像字符串、图片、布局框架等资源携程xml放在res目录中然后在程序中去引用。但是如果我们只提供一套资源文件,有时候碰到硬件配置不大相同的设备(比如屏幕的大小不同),显示就会出现差异,比如有些小图片在大屏幕设备上会变得很膜厚仪。为了让我们的图片等资源文件在各种Android设备中都能正常显示,我们就必须为不同配置的设备准备一套资源文件。

2014-03-15 13:13:38 3426

原创 Android中的风格和主题(style和theme)

style 和 theme 其实在意义上没有什么不同,他们都是一组UI属性的定义集合。而他们中间的区别就是作用的范围而已,还有一些在 theme 可以设置但是在 style 不能设置的属性。因为开始使用 style 和 theme 时一般比较困惑他俩到底有什么不同,所以在这里就先介绍一下 style 和 theme 的不同吧:style: 针对一些特定的具体的组件,例如TextVi

2014-03-12 21:56:00 1399

翻译 Android中的Toast控件

Toast控件的效果如下图:(那个弹出的黑底白字的小长条)如果要使用系统默认的 Toast 样式,那么如果要创建一个 Toast 可以这样添加代码:Toast toast = Toast.makeText(getApplicationContext(), "我是toast", Toast.LENGTH_SHORT);

2014-03-11 21:29:04 1133

原创 Golang中如何模拟C语言中的if(scanf(…)==EOF)来控制输入的终止

相信很多从C/C++转到Golang的朋友们都经常会对Go中的输入控制感到头疼。。。尤其是如果要在Go中模拟C语言中的如下代码会遇到不小困惑:char input[100];while (1) { if (scanf("%s", input) == EOF) { printf("输入结束\n"); break; }}上面这段代码在控制

2014-03-06 22:30:08 9257 1

原创 开发者如何控制Android App的安装位置

Android的应用程序要么安装在内部存储器中,要么就安装在外部存储器中(如SD卡)。那么如何控制App的安装位置呢。原来在工程中的 AndroidManifest.xml 文件中的 标签中有个 android:installLocation 属性,这个属性可以设置为三种值:(1) "internalOnly" :如果这是成这个值那么App将只能安装在内部存储器上,用户可以请求

2014-03-06 15:40:29 1463

翻译 Android控件之Menu

Android中的Menu(菜单)控件有三种类型:1. 选项菜单 (Options menu)2. 上下文菜单 (Context menu)3. 弹出菜单 (Pop menu)使用XML文件来定义菜单布局,菜单xml文件要建在/res/menu目录中,跟创建Menu有关的xml标签有:: 用来定义一个菜单,必须是菜单xml文件的根标签。: 用来定义菜单中的选项。内部

2014-03-04 21:50:48 1280

原创 Android中AlertDialog控件的基本使用和定制方法

Android中的许多组建都是可以由开发者自己定制的,通过自己定制,我们可以自己搭配或设计出一些漂亮的外观。当然AlertDialog也不例外。AlertDialog显示的时候有三个部分组成,分别是:1. 标题 (通过setTitle()方法来设置)2. 内容 (通过setMessage()方法来设置)3. 按钮 (通过setButton()、setPositiveButt

2014-03-04 15:51:54 1614

原创 Go语言linux下构造tcp数据包(不使用net包和Cgo)

Golang可以通过syscall包中的相关socket函数(Windows和Linux中syscall中网络编程的函数不太一样)来进行网络编程,可以用我们熟悉的方法使用raw socket,因为最近在搞一些协议的学习,所以特意试了试,和普通的linux+C的socket编程基本没什么区别。代码如下:package mainimport ( "bytes"

2014-03-03 19:54:07 9903 3

原创 Android中EditText控件横屏全屏模式时的控制

当Android系统的设备横向手持时会变成宽屏模式(开启屏幕旋转的状态下),这时候像EditText这样的控件获得焦点时会变成全屏输入模式。如下两图中分别显示了机器竖立时的EditText控件输入界面和屏幕旋转后的输入界面:1.一般的输入界面2.全屏输入模式如果要让EditText控件在屏幕旋转后也像设备竖立时一样显示控件,可以在相应的XML文件中,在定

2014-02-24 23:02:34 5771

原创 Golang在windows下的socket编程(不使用net包和Cgo)

go也可以想普通的socket编程那样: 创建套接字 -> 绑定 -> 监听 …当然,go中有net包可以使用,但是如果要实现一些比较底层的操作,例如自己构造数据包,就可以通过这种比较原始的方式来进行socket编程。代码如下:package mainimport (    . "fmt"    "strconv"    "strings"

2014-01-22 17:00:55 5472 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除