bcoder

3月 252013
 

如果你只有一个有线路由器,手机无法通过wifi上网,或者你在公司没有无线网络,那么你可以通过以下方法创建一个自己的无线网络来使用了
前提:电脑有无线网卡,Windows 7系统
方法:
1. 以管理员身份运行command窗口
2. 输入以下命令netsh wlan set hostednetwork mode=allow ssid=bcoderwifi key=123456,其中
mode=allow allow表示为允许
ssid=bcoderwifi bcoderwifi为你要创建的无线网络的名称
key=12345678 12345678为访问无线网络时需要用到的密码,此密码最低为8位,否则创建失败


执行上述命令后,在你的网络连接里会多了一个无线网络连接
3. 打开你的网络连接,在“本地连接”上右键,选择属性菜单,在共享标签页中,选择共享此连接,在下面的列表框中选择刚创建的那个无线连接,点击确定关闭窗口


4. 以管理员身份打开command窗口,输入netsh wlan start hostednetwork,这时你的无线网络就建立成功了,用你的手机就可以搜索到此无线连接了
不再使用此无线网络时可以通过以下命令来关闭无线网络netsh wlan stop hostednetwork

 

3月 222013
 

When we begin to run a android application, eclipse sometimes gives an “The connection to adb is down” error, just like below message.

[2013-03-22 22:08:02 – testapp] The connection to adb is down, and a severe error has occured.
[2013-03-22 22:08:02 – testapp] You must restart adb and Eclipse.
[2013-03-22 22:08:02 – testapp] Please ensure that adb is correctly located at ‘E:android-sdkplatform-toolsadb.exe’ and can be executed.

At before, I restart computer to fix the problem. But now, I get a faster solution for this message, copy the adb path in error message, here is “E:android-sdkplatform-toolsadb.exe”, and paste in the address bar of an explorer or paste in the textbox of Run window(press WIN+R key to open it) and press enter button to run adb once. And then eclipse works well.

If this does not work, kill adb.exe process in task manager, and resatrt eclipse.

If the problem is still exist, you should restart your computer.

复制错误信息中adb的路径,在这里是E:android-sdkplatform-toolsadb.exe,然后粘贴到文件夹地址栏或者运行窗口中,执行adb.exe一次即可解决错误。

如果上面这样不行的话,在任务管理器中结束adb.exe,然后重新启动Eclipse.

如果还不行就只能重新启动你的系统了。

 Posted by on 2013-03-22
3月 122013
 

 

2月 242013
 

原来一直在想,既然手机都有了无线网络或者蓝牙技术,为什么调试的时候还需要用数据线来弄,来回插拔麻烦不说,还得一直拖着个数据线。前几天在网上搜罗了一下,终于找到可以省掉数据线而用Wifi来调试的方法了。

据说在手机或者平板没有root的情况下也可以实现Wifi调试,但是笔者试验未成功,但是还是把办法来讲一下吧。

测试环境:手机HTC EVO 3d(HTC g17),Android版本4.0.3

没有Root系统时进行wifi连接调试的办法:

1、需要先插上数据线
2、打开一个命令行窗口,将目录切换到android-sdkplatform-tools目录下,执行adb tcpip 5555,将adb的连接方式切换到wifi
3、假设你手机的ip地址为192.168.0.100,在命令行窗口中执行adb connect 192.168.0.100,如果后面不加”:portnumber”则默认端口号为5555,如果成功会显示connected to 192.168.0.100:5555
4、使用adb devices命令可以显示已连接的设备。192.168.0.100:5555      device表示连接成功,192.168.0.100:5555      offline表示连接有问题。
5、如果需要用usb进行调试则执行adb usb命令

本人用上述方法未能成功连上wifi调试,没办法只能把手机系统root

Root后进行wifi连接调试的办法:

1、在手机上下载adbWireless,打开并开启wifi调试
2、 打开一个命令行窗口,将目录切换到android-sdkplatform-tools目录下,执行adb tcpip 5555,将adb的连接方式切换到wifi
3、 假设你手机的ip地址为192.168.0.100,在命令行窗口中执行adb connect 192.168.0.100,如果后面不加”:portnumber”则默认端口号为5555,如果成功会显示connected to 192.168.0.100:5555
4、使用adb devices命令可以显示已连接的设备。192.168.0.100:5555      device表示连接成功,192.168.0.100:5555      offline表示连接有问题。
5、如果需要用usb进行调试则执行adb usb命令

Eclipse插件支持

有一个插件可以用在Eclipse中以快速连接wifi调试,插件地址为http://ppareit.github.com/AdbConnect/,安装方法为打开菜单“帮助-〉安装新软件”,输入http://ppareit.github.com/AdbConnect/做为更新站点,安装完毕后在菜单“窗口-〉首选项-〉Android-〉Adb Connect”中设置手机的ip地址和端口号,在工具栏上会多一个图标按钮用于快速连接

2月 192013
 

1. Java中Byte数组与int类型的转换

1) 方法一

 

 

1月 212013
 

设计Android的界面的时候,一直看着列表框中有Custom & Library Views这么一项,知道这是用于放自己开发的组件库的地方,但是不知道是如何添加自己的组件的,今天稍研究了一下,原来还是挺简单的。简单说一下其中的步骤:

1. 首先建一个Android项目或者在你已经有的Android的项目中实现也行

2. 为了规范化代码,建议你先在项目下建立一个widget的package,这样自己开发的组件都放在这个目录下,便于管理

3. 新建一个类,此类要继承自某个已存在的View类,比如你要实现一个自己的Button类那么就继承自android.widget.Button,类创建好后就能看到Custom & Library Views中已经有你新建的组件了

4. 下面就该实现具体的组件代码了。

Android的组件往往功能提供的很多,但又不能完全达到用户的需求,而且实现的耦合性比较强,真正改写一个自己用的组件还是挺麻烦的事。

 Posted by on 2013-01-21
1月 212013
 

  我们有时会在开发中,使用按钮的focus选项来实现类似Tab标签页的效果,当用户按下某个按钮后,这个按钮就显示另外一种被按下的效果,以表示用户当前浏览的是哪种类型数据。允许组件有焦点效果首先要设置focusable属性为true,然后把android:focusableInTouchMode属性也设置为true。

  需要注意的是,当设置组件可以获得焦点的时候,这个组件就不能响应android:onClick事件了,如果你把实现功能的代码写到onClick事件里的话,是不能看到程序执行的。那么这时候我们就得用组件的setOnFocusChangeListener来设置一个事件来监听组件获得和失去焦点的状态,然后把相关的代码放到这个事件里。下面是一个代码片断:

 

  其中hasFocus为true时为组件获得焦点,被按下的状态,为false时为其他组件获得焦点此组件失去焦点时触发。

1月 172013
 

注意:
1. 使用WM_SYSCOMMAND时,鼠标的一些消息可能会受到影响,比如不能响应MouseUp事件,可以在窗口中捕获WM_SYSCOMMAND消息,并判断消息的CommandType来判断消息执行完毕的情况

SC_CLOSE 关闭窗口
SC_HOTKEY Activate the window associated with the application-specified hot key.
SC_HSCROLL Scroll horizontally.
SC_KEYMENU Retrieve a menu through a keystroke.
SC_MAXIMIZE 最大化窗口
SC_MINIMIZE 最小化窗口.
SC_MOUSEMENU Retrieve a menu through a mouse click.
SC_MOVE Move the window.
SC_NEXTWINDOW Move to the next window.
SC_PREVWINDOW Move to the previous window.
SC_RESTORE Save the previous coordinates (checkpoint).
SC_SCREENSAVE 激活屏幕保护程序.
SC_SIZE Size the window.
SC_TASKLIST 激活开始菜单.
SC_VSCROLL Scroll vertically.
SC_MONITORPOWER 关闭显示器(LPARAM为非0参数)
SC_SEPARATOR
SC_CONTEXTHELP 显示帮助
SC_DEFAULT

SC_SIZE = $F000
SC_MOVE = $F010
SC_MINIMIZE = $F020
SC_MAXIMIZE = $F030
SC_NEXTWINDOW = $F040
SC_PREVWINDOW = $F050
SC_CLOSE = $F060
SC_VSCROLL = $F070
SC_HSCROLL = $F080
SC_MOUSEMENU = $F090
SC_KEYMENU = $F100
SC_ARRANGE = $F110
SC_RESTORE = $F120
SC_TASKLIST = $F130
SC_SCREENSAVE = $F140
SC_HOTKEY = $F150
SC_DEFAULT = $F160
SC_MONITORPOWER = $F170
SC_CONTEXTHELP = $F180
SC_SEPARATOR = $F00F
有的时候我们看到一些这里没有的命令,比如用鼠标拖动控件时用的panel1.Perform(WM_SYSCOMMAND, $F012, 0);这个$F012这个命令在定义里没有,其实它是SC_MOVE or 2的结果,微软的文档中提到WM_SYSCOMMAND命令中wParam的值的低4位值是保留的。
举例说明:
在Form的MouseDown事件里写如下代码
ReleaseCapture;
Perform(WM_SYSCOMMAND, SC_SIZE OR 1, 0); // Left
Perform(WM_SYSCOMMAND, SC_SIZE OR 2, 0); // Right
Perform(WM_SYSCOMMAND, SC_SIZE OR 3, 0); // Top
Perform(WM_SYSCOMMAND, SC_SIZE OR 4, 0); // left-top
Perform(WM_SYSCOMMAND, SC_SIZE OR 5, 0); // Right-top
Perform(WM_SYSCOMMAND, SC_SIZE OR 6, 0); // bottom
Perform(WM_SYSCOMMAND, SC_SIZE OR 7, 0); // left-bottom
Perform(WM_SYSCOMMAND, SC_SIZE OR 8, 0); // right-bottom

Listview实现移动功能

 分类:Other 阅读 (1,117)  No Responses »
1月 122013
 

在Delphi的ListView中实现向上移动或者向下移动某行的功能,代码如下:

 

1月 032013
 

使用TabHost的注意事项:

  1. 在API13 Android3.2之后Android的SDK中提供了ActionBar,可以做出TabHost的效果,而且还有很多其他的功能,所以就不推荐使用TabHost了
  2. 使用TabHost的类必须继承自TabActivity,然后通过getTabHost()来获取界面上的TabHost组件
  3. TabHost在Layout.xml中,id属性必须定义为如下格式:android:id=”@android:id/tabhost”