??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合av一区二区三区,22288色视频在线观看,青青热久免费精品视频在线18http://www.aygfsteel.com/pdw2009/category/36612.html本站不再更新Q欢q光? <a >java开发技术网</a>zh-cnFri, 20 Aug 2010 10:26:44 GMTFri, 20 Aug 2010 10:26:44 GMT60android 弹出?/title><link>http://www.aygfsteel.com/pdw2009/archive/2009/04/22/267053.html</link><dc:creator>有猫怼的日?/dc:creator><author>有猫怼的日?/author><pubDate>Wed, 22 Apr 2009 14:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/pdw2009/archive/2009/04/22/267053.html</guid><wfw:comment>http://www.aygfsteel.com/pdw2009/comments/267053.html</wfw:comment><comments>http://www.aygfsteel.com/pdw2009/archive/2009/04/22/267053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pdw2009/comments/commentRss/267053.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pdw2009/services/trackbacks/267053.html</trackback:ping><description><![CDATA[<br /> <script type="text/javascript"><!-- branchr_client_id = 'i5x9suaaicn0eb41ts2q2823gn'; branchr_ad_width = 468; branchr_ad_height = 60; branchr_ad_format = 11; //--></script> <script type="text/javascript" src="http://static.branchr.com/serve.js?1248290004"></script> <br /> 代码片段<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> QuitApp() {<br />         </span><span style="color: #0000ff">new</span><span style="color: #000000"> AlertDialog.Builder(Frm_Addbills.</span><span style="color: #0000ff">this</span><span style="color: #000000">).setTitle(</span><span style="color: #000000">"</span><span style="color: #000000">提示</span><span style="color: #000000">"</span><span style="color: #000000">).setMessage(<br />                 </span><span style="color: #000000">"</span><span style="color: #000000">定退?</span><span style="color: #000000">"</span><span style="color: #000000">).setIcon(R.drawable.quit).setPositiveButton(</span><span style="color: #000000">"</span><span style="color: #000000">定</span><span style="color: #000000">"</span><span style="color: #000000">,<br />                 </span><span style="color: #0000ff">new</span><span style="color: #000000"> DialogInterface.OnClickListener() {<br />                     </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> onClick(DialogInterface dialog, </span><span style="color: #0000ff">int</span><span style="color: #000000"> whichButton) {    <br />                         billdb.close();<br />                         finish();<br />                     }<br />                 }).setNegativeButton(</span><span style="color: #000000">"</span><span style="color: #000000">取消</span><span style="color: #000000">"</span><span style="color: #000000">,<br />                 </span><span style="color: #0000ff">new</span><span style="color: #000000"> DialogInterface.OnClickListener() {<br />                     </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> onClick(DialogInterface dialog, </span><span style="color: #0000ff">int</span><span style="color: #000000"> whichButton) {<br />                     }<br />                 }).show();<br /> <br />     }</span></div> <br /> copy from ColaBox_source  未完待箋..<br /> <br /><img src ="http://www.aygfsteel.com/pdw2009/aggbug/267053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pdw2009/" target="_blank">有猫怼的日?/a> 2009-04-22 22:31 <a href="http://www.aygfsteel.com/pdw2009/archive/2009/04/22/267053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>android 中用sqLite例子http://www.aygfsteel.com/pdw2009/archive/2009/04/19/266460.html有猫怼的日?/dc:creator>有猫怼的日?/author>Sun, 19 Apr 2009 14:20:00 GMThttp://www.aygfsteel.com/pdw2009/archive/2009/04/19/266460.htmlhttp://www.aygfsteel.com/pdw2009/comments/266460.htmlhttp://www.aygfsteel.com/pdw2009/archive/2009/04/19/266460.html#Feedback2http://www.aygfsteel.com/pdw2009/comments/commentRss/266460.htmlhttp://www.aygfsteel.com/pdw2009/services/trackbacks/266460.html今晚写了个sqLite的应用例子,_一下代码,׃详细详述了?br />

package com.peidw.demo;

import java.io.FileNotFoundException;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;

/**
 * 数据库操?br />  * 
@author peidw 2009-04-06
 *
 
*/
public class DatabaseHelper extends SQLiteOpenHelper{
    
private Context ctx = null;
    
    
public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
        
super(context, name, factory, version);

    }
    

    @Override
    
public void onCreate(SQLiteDatabase arg0) {
        
    }
    @Override
    
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
        
    }

    

}
package com.peidw.demo;

import java.util.*;
import android.app.*;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.os.*;
import android.util.*;

/**
 * 操作数据库例?br />  * 
@author peidw 2009-04-19
 *
 
*/
public class ConnectionProvider {
    
    
private static  SQLiteDatabase db=null;
    
    
    
public  ConnectionProvider(Context ctx) {
        
if (db==null){
            Log.v(
"ConnectionProvider","ctx="+ctx.toString());
            DatabaseHelper dbHelper
=new DatabaseHelper(ctx,"StudDB"null,1);
            db
= dbHelper.getWritableDatabase();
        }
    }
    
    
public SQLiteDatabase getConnection (){
        
return db;
    }
    
    
public void closeConnection (){
        db.close();
    }
    
/**
     * 判断表是否存?br />      * 
@param tablename
     * 
@return
     
*/
    
public boolean isTableExits(String tablename){
        
boolean result=false;//表示不存?/span>
        String str="select count(*) xcount  from sqlite_master where table='"+tablename+"'";
        Cursor c 
= db.rawQuery(str,null);
        
int xcount=c.getColumnIndex("xcount");
        
if(xcount!=0){
            result
=true//表存?/span>
        }
        
return result;
    }
}

在程序中操作数所的代码片D?br />

 ConnectionProvider cp
=new ConnectionProvider(this.getBaseContext());
        
// if(cp.isTableExits(TABLE_NAME)){//表已存在
             createTable(cp);
            queryTable(cp);
        
// }else{//表不存在
        
//     createTable();
        
// }



public void createTable( ConnectionProvider cp){
        

        SQLiteDatabase db
= cp.getConnection();
        db.execSQL(
"CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ("
                
+ "stud_no" + " TEXT,"
                
+ "stud_name" + " TEXT"
                
+ ");");
    
        String sql_1 
= "insert into "+ TABLE_NAME +" (stud_no, stud_name) values('S777', 'Lily Chang');";
        String sql_2 
= "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S888', 'Linda Lin');";
        String sql_3 
= "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S999', 'Bruce Wang');";
        db.execSQL(sql_1); db.execSQL(sql_2); db.execSQL(sql_3);
    }
    
public void queryTable(ConnectionProvider cp){
        String str
="select * from "+TABLE_NAME;
        Cursor c 
=cp.getConnection().rawQuery(str,null);
        Log.v(
"loginactive","查询记录");
        Log.v(
"loginactive",String.valueOf(c.getCount()) );
        
if(c!=null){
            c.moveToFirst();
            
while(!c.isLast()){
                Log.v(
"loginactive","outp.");
                String stud_no
=c.getString(0);
                String stud_name
=c.getString(1);
                System.out.println(stud_no
+"---------------"+stud_name);
                Log.v(
"loginactive",stud_no+"---------------"+stud_name);
                c.moveToNext();
            }
        }

    }
ȝ帮单Mơ广告了 Q!Q?



]]>
Android布局(Layout)http://www.aygfsteel.com/pdw2009/archive/2009/04/15/265850.html有猫怼的日?/dc:creator>有猫怼的日?/author>Wed, 15 Apr 2009 13:53:00 GMThttp://www.aygfsteel.com/pdw2009/archive/2009/04/15/265850.htmlhttp://www.aygfsteel.com/pdw2009/comments/265850.htmlhttp://www.aygfsteel.com/pdw2009/archive/2009/04/15/265850.html#Feedback0http://www.aygfsteel.com/pdw2009/comments/commentRss/265850.htmlhttp://www.aygfsteel.com/pdw2009/services/trackbacks/265850.html <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
节点作ؓ开头。一个布局容器里可以包?或多个布局容器。LinearLayoutU性的布局方式Q要么上下,要么左右的添加控Ӟ很常?br />

      AbsoluteLayout可以让子元素指定准确的x/y坐标|q显C在屏幕上?0, 0)为左上角Q当向下或向右移动时Q坐标值将变大。AbsoluteLayout没有边框,允许元素之间互相重叠Q尽不推荐Q。我们通常不推荐用AbsoluteLayoutQ除非你有正当理p使用它,因ؓ它界面代码太过刚性,以至于在不同的设备上可能不能很好地工作?nbsp;


     RelativeLayout允许子元素指定他们相对于其它元素或父元素的位|(通过ID指定Q。因此,你可以以叛_齐,或上下,或置于屏q中央的形式来排列两个元素。元素按序排列Q因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素以屏幕中央的相对位|来排列。如果用XML来指定这个layoutQ在你定义它之前Q被兌的元素必d义?
q是一个计数器的例子?br />
  FrameLayout是最单的一个布局对象。它被定制ؓ你屏q上的一个空白备用区域,之后你可以在其中填充一个单一对象 ?比如Q一张你要发布的囄。所有的子元素将会固定在屏幕的左上角Q你不能为FrameLayout中的一个子元素指定一个位|。后一个子元素会直接在前一个子元素之上q行覆盖填充Q把它们部䆾或全部挡住(除非后一个子元素是透明的)?

http://blog.chinaunix.net/u2/86463/showart_1674836.html




]]>
Android实现不同Active面间的跌{http://www.aygfsteel.com/pdw2009/archive/2009/04/13/265195.html有猫怼的日?/dc:creator>有猫怼的日?/author>Sun, 12 Apr 2009 16:40:00 GMThttp://www.aygfsteel.com/pdw2009/archive/2009/04/13/265195.htmlhttp://www.aygfsteel.com/pdw2009/comments/265195.htmlhttp://www.aygfsteel.com/pdw2009/archive/2009/04/13/265195.html#Feedback0http://www.aygfsteel.com/pdw2009/comments/commentRss/265195.htmlhttp://www.aygfsteel.com/pdw2009/services/trackbacks/265195.html              intent.setClass(ErrorPageActive.this, LoginActive.class);   
             startActivity(intent);  

p么简单,如果要把一个页面的参数带到另一个页面,则需?br />  Bundle bundle = new Bundle();   
 bundle.putString("USERNAME", et_username.getText().toString());   
intent.putExtras(bundle);

通过以上三行代码现实Q带参数跌{?

]]>
Android应用E序四大lghttp://www.aygfsteel.com/pdw2009/archive/2009/04/13/265193.html有猫怼的日?/dc:creator>有猫怼的日?/author>Sun, 12 Apr 2009 16:04:00 GMThttp://www.aygfsteel.com/pdw2009/archive/2009/04/13/265193.htmlhttp://www.aygfsteel.com/pdw2009/comments/265193.htmlhttp://www.aygfsteel.com/pdw2009/archive/2009/04/13/265193.html#Feedback1http://www.aygfsteel.com/pdw2009/comments/commentRss/265193.htmlhttp://www.aygfsteel.com/pdw2009/services/trackbacks/265193.html对于一个Android应用E序来说Q是由四U构造块l织而成的,q四U构造块如下Q?/span>

    Activity

    Intent Receiver

    Service

    Content Provider


  但是Qƈ不是每一个Android应用E序都需要这四种构造块Q这不是必须的,某些时候,我们只需要这四种中的几种l合成我们的应用?

    当我们明了我们的应用需要哪些构造块后,我们需要在AndroidManifest.xml中登记这些构造块的清单。这是一个XML配置文gQ这个配|文件用于定义我们的应用E序的组件、组件的功能及必要条件等。这个配|文件是每个Android应用必需的。对于AndroidMainfest.xml的SchemaQ参考SDK包附带的文档。以下,我们对四U构造块做一些说明:

一、Activity

    Activity是Android构造块中最基本的一U,在应用中Q一个activity通常是一个单独的屏幕。每一个activity都被实现Z个独立的c,q且l承于Activityq个基类。这个activitycd会显C由几个Views控gl成的用h口,q对事g做出响应。大部䆾的应用都会包含多个的屏幕。例如,一个短消息应用E序会有一个屏q用于显CpMh列表Q第二个屏幕用于写短消息Q同时还会有用于览旧短消息及进行系l设|的屏幕。每一个这L屏幕Q就是一个activity。从一个屏q导航到另一个屏q是很简单的。在一些应用中Q一个屏q甚至会q回值给前一个屏q?/span>

    当一个新的屏q打开后,前一个屏q将会暂停,q保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏q。当屏幕不再使用Ӟq可以从历史堆栈中删除。默认情况下QAndroid会保留从主屏幕到每一个应用的q行屏幕?/span>

    Android使用了Intentq个Ҏc,实现在屏q与屏幕之间Ud。Intentcȝ于描qC个应用将会做什么事。在Intent的描q结构中Q有两个最重要的部分:动作和动作对应的数据。典型的动作cd有:MAINQactivity的门P、VIEW、PICK、EDIT{。而动作对应的数据则以URI的Ş式进行表C。例如:要查看一个h的联pL式,你需要创Z个动作类型ؓVIEW的intentQ以及一个表C个h的URI?/span>

    与之有关pȝ一个类叫IntentFilter。相对于intent是一个有效的做某事的hQ一个intent filter则用于描qC个activityQ或者Intent ReceiverQ能够操作哪些intent。一个activity如果要显CZ个h的联pL式时Q需要声明一个IntentFilterQ这个IntentFilter要知道怎么d理VIEW动作和表CZ个h的URI。IntentFilter需要在AndroidManifest.xml中定义?/span>

   通过解析各种intentQ从一个屏q导航到另一个屏q是很简单的。当向前DӞactivity会调用startActivity(Intent myIntent)Ҏ。然后,pȝ会在所有安装的应用E序中定义的IntentFilter中查找,扑ֈ最匚wmyIntent的Intent对应的activity。新的activity接收到myIntent的通知后,开始运行。当startActivityҎ被调用将触发解析myIntent的动作,q个机制提供了两个关键好处:

    A、Activities能够重复利用从其它组件中以Intent的Ş式生的一个请求;

    B、Activities可以在Q何时候被一个具有相同IntentFilter的新的Activity取代?/span>

二、Intent Receiver

    当你希望你的应用能够对一个外部的事gQ如当电话呼入时Q或者数据网l可用时Q或者到了晚上时Q做出响应,你可以用一个Intent Receiver。虽然Intent Receiver在感兴趣的事件发生时Q会使用NotificationManager通知用户Q但它ƈ不能生成一个UI。Intent Receiver在AndroidManifest.xml中注册,但也可以在代码中使用Context.registerReceiver()q行注册。当一个intent receiver被触发时Q你的应用不必对h调用intent receiverQ系l会在需要的时候启动你的应用。各U应用还可以通过使用Context.broadcastIntent()它们自qintent receiverq播l其它应用程序?/span>

三、Service

    一个Service是一D长生命周期的,没有用户界面的程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播攑֙的应用中Q应该会有多个activityQ让使用者可以选择歌曲q播放歌曌Ӏ然而,音乐重放q个功能q没有对应的activityQ因Z用者当然会认ؓ在导航到其它屏幕旉乐应该还在播攄。在q个例子中,媒体播放器这个activity会用Context.startService()来启动一个serviceQ从而可以在后台保持音乐的播放。同Ӟpȝ也将保持q个service一直执行,直到q个serviceq行l束。另外,我们q可以通过使用Context.bindService()ҎQ连接到一个service上(如果q个serviceq没有运行将启动它)。当q接C个service之后Q我们还可以service提供的接口与它进行通讯。拿媒体播放器这个例子来_我们q可以进行暂停、重播等操作?/span>

四、Content Provider

    应用E序能够它们的数据保存到文件中、SQL数据库中Q甚xM有效的设备中。当你想你的应用数据与其它的应用共享时QContent Provider会很有用。一个Content ProvidercdC一l标准的ҎQ从而能够让其它的应用保存或d此Content Provider处理的各U数据类型?/span>

    更详l的Content Provider资料Q可以参考附带文档中的Accessing Content Providers?br />
五、Intentc?br />     Intent负责对应用中一ơ操作的动作、动作涉及数据、附加数据进行描qͼAndroid则根据此Intent的描qͼ负责扑ֈ对应的组Ӟ?Intent传递给调用的组Ӟq完成组件的调用。因此,Intent在这里v着一个媒体中介的作用Q专门提供组件互相调用的相关信息Q实现调用者与被调 用者之间的解耦?br />



]]>
վ֩ģ壺 ֽ| ֳ| | | ɽ| | | | | ó| | ͬ| | ͨ| | | ƽ˳| ƺ| °Ͷ| ̨| | | | | ̫| ͨ| ʳ| ƶ| | | ɳ| | | ¦| | | Ѱ| | п| | |