关于Button点击弹出输入框,并且通过Servlet连接数据库

简介:
应主管的要求,做了一个月的 Android,对Android也发生了许多的问题,下面是主管让我弄的一个弹出输入框,能够输入评论,保存到 数据库的功能
   这是MainActivity类中的内容
// 评论按钮
comment = (Button) findViewById(R.id.comment);
comment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// LayoutInflater inflater = getLayoutInflater();
// final View layout = inflater.inflate(R.layout.comment,(ViewGroup) findViewById(R.id.dialog));
// 获取文本
final EditText inputServer = new EditText(MainActivity.this);
// 设置获取文本内容为true
inputServer.setFocusable(true);
if(MainActivity.CityName == null){
inputServer.setText("你还未搜索当前城市,请定位后再评论");
}
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("评价框").setView(inputServer);
builder.setNegativeButton("取消", null);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface arg0, int arg1) {
String text = inputServer.getText().toString();
if(MainActivity.CityName == null){
HttpGet httpGet = new HttpGet("http://192.168.11.135:8081/MySql/pinlunServlet?cityName=null&comment=" + text);
try {
HttpResponse response = new DefaultHttpClient().execute(httpGet);
if(response.getStatusLine().getStatusCode() < 2000){
Log.i("add", "评论成功");
}else{
Log.e("Err", "评论失败");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else{
HttpGet httpGet = new HttpGet("http://192.168.11.135:8081/MySql/pinlunServlet?cityName=" + MainActivity.CityName + "&comment=" + text);
try {
HttpResponse response = new DefaultHttpClient().execute(httpGet);
if(response.getStatusLine().getStatusCode() < 2000){
Log.i("add", "评论成功");
}else{
Log.e("Err", "评论失败");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Log.i("add",text);
}});
builder.show();
}
});

 这是comment.xml中的配置
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="#ffffffff" android:orientation="horizontal"
android:id="@+id/dialog">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tvname"
android:text="评论:" />
<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/etname"
android:minWidth="100dip"/>
</LinearLayout>
AndroidManifest.xml中权限(仅供参考,如有缺少可以添加)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.baudumap"
android:versionCode="1"
android:versionName="1.0" >
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="18" >
</uses-sdk>
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.baudumap" >
</instrumentation>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
</uses-permission>
<uses-permission android:name="android.permission.READ_LOGS" >
</uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/wing"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<uses-library android:name="android.test.runner" />
<activity
android:name="com.example.baudumap.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>
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote" >
</service>
</application>
</manifest>


最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
3天前
|
消息中间件 关系型数据库 Serverless
函数计算产品使用问题之如何通过vpc来连接rds数据库
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6天前
|
Oracle 数据可视化 关系型数据库
Oracle数据库安装及使用Navicat连接oracle2
Oracle数据库安装及使用Navicat连接oracle
29 1
|
6天前
|
SQL 关系型数据库 数据库连接
Python连接线上数据库的实战指南
Python连接线上数据库的实战指南
11 1
|
2天前
|
数据库连接 网络安全 Nacos
Nacos 的配置文件中修改了数据库的连接地址
Nacos 的配置文件中修改了数据库的连接地址
|
3天前
|
SQL 关系型数据库 MySQL
技术笔记:python连接mysql数据库
技术笔记:python连接mysql数据库
|
3天前
|
关系型数据库 MySQL 数据库
|
3天前
|
Java 关系型数据库 MySQL
连接MySQL数据库的最优JDBC代码
连接MySQL数据库的最优JDBC代码
|
6天前
|
Oracle 安全 关系型数据库
Oracle数据库安装及使用Navicat连接oracle1
Oracle数据库安装及使用Navicat连接oracle
23 0
|
6天前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 5
该JSP教程展示了如何使用JSTL的`&lt;sql:update&gt;`标签更新数据库记录。它连接到一个MySQL数据库,更改ID为3的网站名称为&#39;baidu&#39;,然后使用`&lt;sql:query&gt;`显示所有网站信息,以验证更新是否成功。页面包含防止中文乱码的设置,并使用JDBC数据源。
11 0
|
6天前
|
关系型数据库 MySQL Java
连接 MySQL 数据库使用 JDBC
连接 MySQL 数据库使用 JDBC
8 0