亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

Android Web Service 教程含代碼

Android Web Service 教程

在安卓中創建Web服務應用并不是一項困難的任務。愛掏網 - it200.com我們可以輕松地創建一個Restful Web服務應用,用于在安卓中驗證或將信息保存到外部數據庫,比如Oracle、MySQL、PostgreSQL、SQL Server,這些數據庫是使用Java、.Net、PHP等語言開發的應用程序。愛掏網 - it200.com這就是我們要做的。愛掏網 - it200.com

在開發Web服務應用之前,你必須對SOAP和Restful Web服務有基本的了解。愛掏網 - it200.com因此,我們將討論關于Web服務的基本知識,例如什么是Web服務以及關于SOAP和Restful Web服務的簡要信息。愛掏網 - it200.com

什么是Web服務?

Web服務是在不考慮語言和平臺的情況下,不同類型應用程序之間交換信息的標準。愛掏網 - it200.com例如,安卓應用程序可以通過Web服務與Java或.Net應用程序進行交互。愛掏網 - it200.com

安卓Restful Web服務示例

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:hint="Username"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="67dp"
        android:ems="10"
        android:hint="Password"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="24dp"
        android:layout_toRightOf="@+id/button1"
        android:text="New User" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/editText2"
        android:layout_marginTop="22dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText2"
        android:layout_below="@+id/progressBar1"
        android:layout_marginLeft="22dp"
        android:text="Login" />

</RelativeLayout>

文件:activity_register_user.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:ems="10"
        android:hint="Enter UserName" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="50dp"
        android:ems="10"
        android:hint="Enter Password"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="Resister" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/editText2"
        android:layout_marginTop="87dp" />

</RelativeLayout>

MainActivity類

package com.example.newrestapi;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;

public class MainActivity extends Activity {
    EditText password,userName;
    Button login,resister;
    ProgressBar progressBar;



    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        password=(EditText) findViewById(R.id.editText2);
        userName=(EditText) findViewById(R.id.editText1);
        login=(Button) findViewById(R.id.button1);
        resister=(Button) findViewById(R.id.button2);

        //progess_msz.setVisibility(View.GONE);
        progressBar=(ProgressBar) findViewById(R.id.progressBar1);
        progressBar.setVisibility(View.GONE);


        resister.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent  intent=new Intent(MainActivity.this,ResisterUser.class);
                startActivity(intent);
            }
        });
        login.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                progressBar.setVisibility(View.VISIBLE);

                String s1=userName.getText().toString();
                String s2=password.getText().toString();
                new ExecuteTask().execute(s1,s2);

            }
        });


    }

     class ExecuteTask extends AsyncTask<String, Integer, String>
        {

            @Override
            protected String doInBackground(String... params) {

                String res=PostData(params);

                return res;
            }

            @Override
            protected void onPostExecute(String result) {
            progressBar.setVisibility(View.GONE);
            //progess_msz.setVisibility(View.GONE);
            Toast.makeText(getApplicationContext(), result, 3000).show();
            }

        }

    public String PostData(String[] valuse) {
        String s="";
        try
        {
        HttpClient httpClient=new DefaultHttpClient();
        HttpPost httpPost=new HttpPost("http://10.0.0.8:7777/HttpPostServlet/servlet/Login");

        List<NameValuePair> list=new ArrayList<NameValuePair>();
        list.add(new BasicNameValuePair("name", valuse[0]));
        list.add(new BasicNameValuePair("pass",valuse[1]));
        httpPost.setEntity(new UrlEncodedFormEntity(list));
        HttpResponse httpResponse=  httpClient.execute(httpPost);

        HttpEntity httpEntity=httpResponse.getEntity();
        s= readResponse(httpResponse);

        }
        catch(Exception exception)  {}
        return s;


    }
    public String readResponse(HttpResponse res) {
        InputStream is=null; 
        String return_text="";
        try {
            is=res.getEntity().getContent();
            BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(is));
            String line="";
            StringBuffer sb=new StringBuffer();
            while ((line=bufferedReader.readLine())!=null)
            {
            sb.append(line);
            }
            return_text=sb.toString();
        } catch (Exception e)
        {

        }
        return return_text;

    }

}

注冊用戶類

package com.example.newrestapi;

import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

public class ResisterUser extends Activity {
     EditText userName,passwprd;
       Button resister,login;
       ProgressBar progressBar;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_resister_user);
            userName=(EditText) findViewById(R.id.editText1);;
            passwprd=(EditText) findViewById(R.id.editText2);
            resister=(Button) findViewById(R.id.button1);

            progressBar=(ProgressBar) findViewById(R.id.progressBar1);
            progressBar.setVisibility(View.GONE);

            resister.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                    progressBar.setVisibility(View.VISIBLE);

                    String s1=userName.getText().toString();
                    String s2=passwprd.getText().toString();
                    new ExecuteTask().execute(s1,s2);
                }
            });




        }

        class ExecuteTask extends AsyncTask<String, Integer, String>
        {

            @Override
            protected String doInBackground(String... params) {

                PostData(params);
                return null;
            }

            @Override
            protected void onPostExecute(String result) {
            progressBar.setVisibility(View.GONE);
            }

        }



        public void PostData(String[] valuse) {
            try
            {
            HttpClient httpClient=new DefaultHttpClient();
            HttpPost httpPost=new HttpPost(
                                  "http://10.0.0.8:7777/HttpPostServlet/servlet/httpPostServlet");
            List<NameValuePair> list=new ArrayList<NameValuePair>();
            list.add(new BasicNameValuePair("name", valuse[0]));
            list.add(new BasicNameValuePair("pass",valuse[1]));
            httpPost.setEntity(new UrlEncodedFormEntity(list));
            httpClient.execute(httpPost);
            }
            catch(Exception e)
            {
                System.out.println(e);
            }

        }

        }

您需要在AndroidManifest.xml文件中提供INTERNET權限。愛掏網 - it200.com

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.newrestapi"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.newrestapi.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.newrestapi.ResisterUser"
            android:label="@string/title_activity_resister_user" >
        </activity>
    </application>

</manifest>

輸出:

Java Servlet登錄和注冊示例,使用oracle數據庫

在oracle數據庫中創建表javatpoint_user,包含三個列id、name和password。愛掏網 - it200.comid必須是主鍵,并通過SEQUENCE生成。愛掏網 - it200.com

CREATE TABLE  "JAVATPOINT_USER" 
   (    "ID" NUMBER, 
    "NAME" VARCHAR2(4000), 
    "PASSWORD" VARCHAR2(4000), 
     CONSTRAINT "JAVATPOINT_USER_PK" PRIMARY KEY ("ID") ENABLE
   )
/

新建兩個servlet類來登錄和注冊用戶。愛掏網 - it200.com

登錄Servlet類

package server;

import java.io.IOException;
import java.io.ObjectOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Login extends HttpServlet {


    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
         response.setContentType("text/html");  

            ObjectOutputStream out=new ObjectOutputStream(response.getOutputStream());

            String n=request.getParameter("name");  
            String p=request.getParameter("pass");
            System.out.println(n);
            System.out.println(p);

            if(validate(n, p)){  
               out.writeObject("success");

            }  
            else{  
               out.writeObject("Sorry username or password error");

            }  

            out.close();  
            }  


    public static boolean validate(String name,String pass){  
        boolean status=false;  
        try{  
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection con=DriverManager.getConnection(
                      "jdbc:oracle:thin:@localhost:1521:xe","system","oracle");

        PreparedStatement ps=con.prepareStatement(  
        "select * from javatpoint_user where name=? and password=?");  
        ps.setString(1,name);  
        ps.setString(2,pass);  

        ResultSet rs=ps.executeQuery();  
        status=rs.next();  

        }catch(Exception e){System.out.println(e);}  
        return status;  
        }  
    public void doPost(HttpServletRequest request,HttpServletResponse response)
    throws ServletException, IOException {
doGet(request, response);

}
}

httpPostServlet Servlet類

package server;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class httpPostServlet extends HttpServlet {


     public void doGet(HttpServletRequest request,HttpServletResponse response)
     throws ServletException, IOException {
 response.setContentType("text/html");
String recived_data="";


 String s1=request.getParameter("name");
 String s2=request.getParameter("pass");
 System.out.println(s1);
 System.out.println(s2);    

        try
        {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con=DriverManager.getConnection(
                       "jdbc:oracle:thin:@localhost:1521:xe","system","oracle");
        PreparedStatement ps=con.prepareStatement(
                      "insert into javatpoint_user(name,password) values(?,?)");
        ps.setString(1, s1);
        ps.setString(2,s2);
        ps.executeUpdate();
        con.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }

} 
public void doPost(HttpServletRequest request,HttpServletResponse response)
     throws ServletException, IOException {
 doGet(request, response);
}

}

index.jsp

<form action="servlet/Login">
Name:<input type="text" name="name"/><br/>
Password:<input type="password" name="pass"/><br/>
<input type="submit" value="login"/>
</form>

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

    
    

    亚洲精品孕妇| 国产欧美一区二区精品忘忧草| 国产精品99久久99久久久二8 | 国产伦精品一区二区三区照片91| 蜜桃av一区二区三区| 亚洲欧美中文另类| 亚洲另类一区二区| 在线日韩视频| 国产精品一区视频网站| 欧美视频福利| 欧美日韩一级片在线观看| 开心色5月久久精品| 欧美一区二区三区播放老司机| 99精品国产高清一区二区| 一区二区三区在线免费视频| 国产乱肥老妇国产一区二| 欧美午夜a级限制福利片| 欧美乱人伦中文字幕在线| 欧美 日韩 国产精品免费观看| 久久av在线| 久久国产精品高清| 久久精品国产91精品亚洲| 欧美伊久线香蕉线新在线| 亚洲欧美日韩综合| 午夜免费电影一区在线观看| 亚洲欧美在线另类| 先锋影音国产精品| 久久精品国产免费观看| 欧美在线在线| 久热精品在线| 欧美成人午夜| 欧美日韩国产综合一区二区| 欧美视频在线视频| 国产精品一区二区男女羞羞无遮挡| 国产精品看片你懂得| 国产精品一二三四区| 国产日韩精品一区二区三区| 国产主播一区二区| 在线免费观看一区二区三区| 亚洲精选视频免费看| 国产精品99久久久久久久久久久久| 宅男精品视频| 久久精品国产一区二区三区| 免费成年人欧美视频| 欧美色网在线| 国产色视频一区| 亚洲国产乱码最新视频| 99精品热视频| 久久久国产成人精品| 欧美精品不卡| 国产欧美日韩麻豆91| 在线播放中文字幕一区| 一区二区三区鲁丝不卡| 性欧美暴力猛交69hd| 欧美成人久久| 国产亚洲一区二区在线观看| 亚洲欧洲日韩综合二区| 欧美一级成年大片在线观看| 欧美不卡在线视频| 国产日本欧美一区二区三区| 亚洲精品欧美激情| 久久精品国产77777蜜臀 | 亚洲精品老司机| 午夜伦欧美伦电影理论片| 欧美 日韩 国产精品免费观看| 欧美视频在线观看免费| 亚洲国产mv| 欧美在线你懂的| 国产精品盗摄久久久| 亚洲成人在线| 欧美一级在线视频| 欧美丝袜一区二区| 亚洲激情在线视频| 久久久777| 国产亚洲精品一区二区| 亚洲性视频h| 欧美视频在线视频| 亚洲乱码国产乱码精品精| 麻豆成人在线| 黄色一区二区三区| 久久国产日韩| 国产手机视频一区二区| 亚洲一区二区网站| 欧美性猛交视频| 亚洲午夜精品17c| 欧美日韩综合视频| 一区二区欧美国产| 欧美日韩国产首页在线观看| 亚洲国产日韩欧美| 欧美精品黄色| 亚洲精品人人| 欧美另类亚洲| 在线亚洲欧美视频| 国产精品wwwwww| 亚洲欧美国产制服动漫| 国产精品亚洲美女av网站| 亚洲免费小视频| 国产精品综合色区在线观看| 午夜视频一区| 国模吧视频一区| 免费视频一区二区三区在线观看| 精品999久久久| 免费观看日韩av| 亚洲人成在线观看一区二区| 欧美激情精品久久久六区热门 | 国产精品视频yy9299一区| 国产精品九色蝌蚪自拍| 999亚洲国产精| 欧美偷拍一区二区| 亚洲欧美一级二级三级| 国产亚洲观看| 狂野欧美一区| 亚洲毛片一区| 国产精品久久久99| 久久国产欧美精品| 亚洲人成7777| 国产精品一区二区久久精品| 久久www免费人成看片高清| 狠狠做深爱婷婷久久综合一区| 亚洲乱码精品一二三四区日韩在线| 欧美日韩国产不卡| 香蕉国产精品偷在线观看不卡| 国产一区二区三区av电影| 开元免费观看欧美电视剧网站| 亚洲国产欧美日韩另类综合| 国产精品激情电影| 麻豆国产va免费精品高清在线| 日韩亚洲欧美在线观看| 国产精品自在在线| 欧美不卡激情三级在线观看| 亚洲一区二区三区视频播放| 在线观看欧美日本| 国产精品扒开腿做爽爽爽软件| 久久久中精品2020中文| 亚洲影院免费观看| 亚洲国产日韩欧美| 国产欧美日本一区视频| 欧美久久一级| 欧美91福利在线观看| 午夜精品一区二区三区在线播放| 亚洲黄色一区| 激情六月婷婷久久| 国产免费亚洲高清| 国产精品v片在线观看不卡| 欧美jizz19hd性欧美| 欧美一区二区三区免费视频| 一区二区三区四区五区精品| 亚洲国产成人在线视频| 国内成人自拍视频| 国产精品亚洲综合| 国产精品日韩一区| 欧美色综合网| 欧美连裤袜在线视频| 免费观看成人| 嫩草成人www欧美| 久久精品成人欧美大片古装| 亚洲欧美日韩一区在线观看| 亚洲视频精品| 亚洲色诱最新| 中文欧美字幕免费| 亚洲一区尤物| 亚洲小说春色综合另类电影| 国产精品99久久久久久久女警| 日韩视频精品| 一区二区激情| 亚洲欧美一区二区精品久久久| 亚洲视频在线一区观看| 亚洲欧美日本国产有色| 亚洲欧美日韩在线| 久久国产日本精品| 久久综合给合久久狠狠色| 久久综合久久美利坚合众国| 蜜桃av一区二区三区| 欧美二区不卡| 欧美性开放视频| 国产精品一区二区视频| 国产一区二区高清| 极品日韩久久| 亚洲欧洲视频在线| 亚洲一区二区三区在线看 | 欧美大片在线看| 欧美午夜精品电影| 国产精品永久免费在线| 国产亚洲电影| 亚洲精品一二| 午夜欧美不卡精品aaaaa| 久久久亚洲精品一区二区三区| 久久蜜桃香蕉精品一区二区三区| 欧美成人日韩| 国产精品视频yy9099| 一区二区亚洲欧洲国产日韩| 99国产精品久久久久久久| 香蕉成人啪国产精品视频综合网| 欧美一区深夜视频| 欧美www视频| 国产精品亚洲产品| 亚洲高清在线| 欧美一区二区三区四区夜夜大片| 久久亚洲欧洲| 国产精品视频xxxx|