• PhoneGap+jQuery Mobile+Rest 访问远程数据


    最近研究Mobile Web技术、发现了一个好东西-PhoneGap!
    发现用PhoneGap+jQuery Mobile是一个很完美的组合!
    本实例通俗易懂、适合广大开发人群:高富帅、白富美、矮穷戳;不论老幼妇孺、年过花甲、还是牙牙学语!由于此实例太过惊世骇俗、望练成之后、找个地方埋了!否则天下大乱、望施主谨记!善哉、善哉!--叨、校长
    第一式:人剑合一(Android平台+PhoneGap+jQuery Mobile整合)
    下载PhoneGap开发包:官方下载:http://phonegap.com/download/
    解压PhoneGap压缩包;以备不时之需!
    由于本实例是基于Android平台的,所以关于Android开发环境的搭建这里不再说明!百度一下、你就知道!
    新建一个Android项目:
    项目结构如图所示:
     
    说明:
    jquerymobile目录是jQuery Mobile开发包!
    新建好项目之后、修改一些地方、进行整合!
    1、修改MainActivity.java类:
    Java代码
    public class MainActivity extends DroidGap {
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            super.loadUrl("file:///android_asset/www/index.html");
        }
    }
    2、修改清单文件:

    Java代码

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.cordvoaand"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="7"
            android:targetSdkVersion="7" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
             
            <activity
                android:name="com.example.cordvoaand.MainActivity"
                android:label="@string/app_name"
                android:configChanges="orientation|keyboardHidden" > <!-- 新增的一个activity属性 -->
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
         
        <!-- 增加Cordova屏幕支持 -->
        <supports-screens
            android:largeScreens="true"
            android:normalScreens="true"
            android:smallScreens="true"
            android:resizeable="true"
            android:anyDensity="true" />
         
        <!-- 增加Cordova插件的支持 -->
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECEIVE_SMS" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.WRITE_CONTACTS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.BROADCAST_STICKY" />
         
         
     
    </manifest>
    3、打开index.html文件、写一个简单的jQuery Mobile页面

    Html代码

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Cordova</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="jquerymobile/jquery.mobile-1.1.1.css" />
    <script src="jquerymobile/jquery-1.8.2.js"></script>
    <script src="jquerymobile/jquery.mobile-1.1.1.js"></script>
    </head>
    <body>
        <div data-role="page">
            <div data-role="header">
                <h1>PhoneGap+jQuery Mobile+Rest访问远程数据</h1>
            </div>
            <!-- /header -->
            <div data-role="content">
                <ul id='jokelist' data-role="listview" data-inset="true" data-filter="true">
                </ul>
            </div>
            <!-- /content -->
     
        </div>
        <!-- /page -->
    </body>
    </html>

    这样就整合成功了!

    第二式:剑斗九天(访问Rest接口)
    关于后台Rest接口的编写这里不再阐述、
    修改index.html:

    Html代码

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Cordova</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="jquerymobile/jquery.mobile-1.1.1.css" />
    <script src="jquerymobile/jquery-1.8.2.js"></script>
    <script src="jquerymobile/jquery.mobile-1.1.1.js"></script>
    </head>
    <body>
        <div data-role="page">
            <div data-role="header">
                <h1>PhoneGap+jQuery Mobile+Rest访问远程数据</h1>
            </div>
            <!-- /header -->
            <div data-role="content">
                <ul id='jokelist' data-role="listview" data-inset="true" data-filter="true">
                </ul>
            </div>
            <!-- /content -->
     
        </div>
        <!-- /page -->
        <script type="text/javascript">
            function test(){
                $.ajax({
                    //远程Rest接口
                    url:"http://192.168.1.101:8080/RestTest/rest/test/getDataGrid2",
                    //返回的数据类型
                    dataType:"json",
                    contentType:"application/json;charset=UTF-8;",
                    beforeSend: function (XMLHttpRequest) {
                        XMLHttpRequest.setRequestHeader("Accept", "application/json");
                    },
                    success:function(response){
                        var data=response.content;
                        var count=data.length;
                        for(var i=0;i<count;i++){
                            $("#jokelist").append("<li><a href='list.jsp?uuid="+data[i].uuid+"'>"+data[i].title+"</li>")
                        }
                    },
                    error:function(jqXHR, textStatus, errorThrown){
                        alert("服务器异常!系统退出!");
                    }
                })
            }
            test();
        </script>
    </body>
    </html>
    第三式:打完收工(运行项目,Run as Android Application...)
    效果图:
     
  • 相关阅读:
    centos7的网络设置
    day1学习
    举例讲解Linux系统下Python调用系统Shell的方法
    Python引用模块和查找模块路径
    详解Python中的循环语句的用法
    [cf1566H]Xorquiz
    [luogu5180]支配树
    [atAGC055D]ABC Ultimatum
    [cf1552H]A Serious Referee
    [gym102538H]Horrible Cycles
  • 原文地址:https://www.cnblogs.com/dekevin/p/4551781.html
Copyright © 2020-2023  润新知