当前位置:  编程技术>移动开发
本页文章导读:
    ▪在Oracle上基于序列和触发器实现主键自增长        在Oracle下基于序列和触发器实现主键自增长 drop   table  book; drop  sequence book_seq; drop   trigger  book_tri; -- 创建表格 create   table  book ( bookId  integer   primary   key   not   null , bookName  varchar2 ( .........
    ▪ 在AsyncTask线程中统制网络超时        在AsyncTask线程中控制网络超时 今天在项目中遇到一个需要控制网络加载超时的情况,就是用AsyncTask的线程在后台加载网络资源,但是有时候需要处理网络状态非常差,造成线程假死的情况.........
    ▪ 蓝牙RFCOMM联接       蓝牙RFCOMM连接 public class ZeeTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { for (int i = 0.........

[1]在Oracle上基于序列和触发器实现主键自增长
    来源: 互联网  发布时间: 2014-02-18
在Oracle下基于序列和触发器实现主键自增长

drop   table  book;
drop  sequence book_seq;
drop   trigger  book_tri;
-- 创建表格
create   table  book
(
bookId  integer   primary   key   not   null ,
bookName  varchar2 ( 20 ),
price  number ( 3 )
)tablespace zfs_data
desc   book;
-- 创建序列
-- 创建一个从10000开始每次递增为1的序列
create  sequence book_seq minvalue  10000  maxvalue  9999999  increment  by   1  start  with   10000  ;
-- 创建一个触发器,用于每次插入前自动成成序列的值
create   or   replace   trigger  book_tri
  before  insert   on  book  for  each row
   begin
     select  book_seq.nextval  into  :new.bookId  from  dual;
   end ;
/   
commit ;  

insert   into  book (bookName, price)  values ( ' 深入浅出EXTJS ' , 59 );
insert   into  book (bookName, price)  values ( ' 深入浅出Jquery ' , 49 );

select   *   from  book;


    
[2] 在AsyncTask线程中统制网络超时
    来源: 互联网  发布时间: 2014-02-18
在AsyncTask线程中控制网络超时
今天在项目中遇到一个需要控制网络加载超时的情况,就是用AsyncTask的线程在后台加载网络资源,但是有时候需要处理网络状态非常差,造成线程假死的情况。我们都知道一个AsyncTask线程只能启动一次,线程结束之后对象就被回收了,而且是不能手动停止的。
解决办法是在请求网络的URL中控制延时时间:
URL url = new URL(/blog_article/path/index.html);
	       
HttpURLConnection connect = (HttpURLConnection)url.openConnection();
    //设置连接服务器超时时间
	connect.setConnectTimeout(60*1000);
	//设置从服务器读取数据超时时间
	connect.setReadTimeout(60*1000);


这样当网络出现异常或长时间加载无果时,会提前强制结束AsyncTask线程

因为经常需要使用到,当个笔记写下来。。


    
[3] 蓝牙RFCOMM联接
    来源: 互联网  发布时间: 2014-02-18
蓝牙RFCOMM连接

public class ZeeTest extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try {
            for (int i = 0; i < 3; i++) {
                test();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private boolean connected = false;
    private BluetoothSocket sock;
    private InputStream in;
    public void test() throws Exception {
        if (connected) {
            return;
        }
        BluetoothDevice zee = BluetoothAdapter.getDefaultAdapter().
            getRemoteDevice("00:1C:4D:02:A6:55");
        Method m = zee.getClass().getMethod("createRfcommSocket",
            new Class[] { int.class });
        sock = (BluetoothSocket)m.invoke(zee, Integer.valueOf(1));
        Log.d("ZeeTest", "++++ Connecting");
        sock.connect();
        Log.d("ZeeTest", "++++ Connected");
        in = sock.getInputStream();
        byte[] buffer = new byte[50];
        int read = 0;
        Log.d("ZeeTest", "++++ Listening...");
        try {
            while (true) {
                read = in.read(buffer);
                connected = true;
                StringBuilder buf = new StringBuilder();
                for (int i = 0; i < read; i++) {
                    int b = buffer[i] & 0xff;
                    if (b < 0x10) {
                        buf.append("0");
                    }
                    buf.append(Integer.toHexString(b)).append(" ");
                }
                Log.d("ZeeTest", "++++ Read "+ read +" bytes: "+ buf.toString());
            }
        } catch (IOException e) {}
        Log.d("ZeeTest", "++++ Done: test()");
    }
    @Override
    public void onDestroy() {
        try {
            if (in != null) {
                in.close();
            }
            if (sock != null) {
                sock.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        super.onDestroy();
    }
}


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,