android网络链接
‘壹’ android开发中常用的网络连接方式有哪些
告诉你几个代码把,这些都是连接方式:
Activity.startActivities() 常用于在应用程序中间启动其他的Activity.
TextUtils.isEmpty() 简单的工具类,用于检测是否为空
Html.fromHtml() 用于生成一个Html,参数可以是一个字符串.个人认为它不是很快,所以我不怎么经常去用.(我说不经常用它是为了重点突出这句话:请多手动构建 Spannable 来替换 Html.fromHtml),但是它对渲染从 web 上获取的文字还是很不错的。
TextView.setError() 在验证用户输入的时候很棒
Build.VERSION_CODES 这个标明了当前的版本号,在处理兼容性问题的时候经常会用到.点进去可以看到各个版本的不同特性
Log.getStackTraceString() 方便的日志类工具,方法Log.v()、Log.d()、Log.i()、Log.w()和Log.e()都是将信息打印到LogCat中,有时候需要将出错的信息插入到数据库或一个自定义的日志文件中,那么这种情况就需要将出错的信息以字符串的形式返回来,也就是使用static String getStackTraceString(Throwable tr)方法的时候.
LayoutInflater.from() 顾名思义,用于Inflate一个layout,参数是layout的id.这个经常写Adapter的人会用的比较多.
ViewConfiguration.getScaledTouchSlop() 使用 ViewConfiguration 中提供的值以保证所有触摸的交互都是统一的。这个方法获取的值表示:用户的手滑动这个距离后,才判定为正在进行滑动.当然这个值也可以自己来决定.但是为了一致性,还是使用标准的值较好.
PhoneNumberUtils.convertKeypadLettersToDigits 顾名思义.将字母转换为数字,类似于T9输入法,
Context.getCacheDir() 获取缓存数据文件夹的路径,很简单但是知道的人不多,这个路径通常在SD卡上(这里的SD卡指的是广义上的SD卡,包括外部存储和内部存储)Adnroid/data/您的应用程序包名/cache/ 下面.测试的时候,可以去这里面看是否缓存成功.缓存在这里的好处是:不用自己再去手动创建文件夹,不用担心用户把自己创建的文件夹删掉,在应用程序卸载的时候,这里会被清空,使用第三方的清理工具的时候,这里也会被清空.
ArgbEvaluator 用于处理颜色的渐变。就像 Chris Banes 说的一样,这个类会进行很多自动装箱的操作,所以最好还是去掉它的逻辑自己去实现它。这个没用过,不明其所以然,回头再补充.
ContextThemeWrapper 方便在运行的时候修改主题.
Space space是Android 4.0中新增的一个控件,它实际上可以用来分隔不同的控件,其中形成一个空白的区域.这是一个轻量级的视图组件,它可以跳过Draw,对于需要占位符的任何场景来说都是很棒的。
ValueAnimator.reverse() 这个方法可以很顺利地取消正在运行的动画.我超喜欢.
DateUtils.formatDateTime() 用来进行区域格式化工作,输出格式化和本地化的时间或者日期。
AlarmManager.setInexactRepeating 通过闹铃分组的方式省电,即使你只调用了一个闹钟,这也是一个好的选择,(可以确保在使用完毕时自动调用 AlarmManager.cancel ()。原文说的比较抽象,这里详细说一下:setInexactRepeating指的是设置非准确闹钟,使用方法:alarmManager.setInexactRepeating(AlarmManager.RTC, startTime,intervalL, pendingIntent),非准确闹钟只能保证大致的时间间隔,但是不一定准确,可能出现设置间隔为30分钟,但是实际上一次间隔20分钟,另一次间隔40分钟。它的最大的好处是可以合并闹钟事件,比如间隔设置每30分钟一次,不唤醒休眠,在休眠8小时后已经积累了16个闹钟事件,而在手机被唤醒的时候,非准时闹钟可以把16个事件合并为一个, 所以这么看来,非准时闹钟一般来说比较节约能源。
Formatter.formatFileSize() 一个区域化的文件大小格式化工具。通俗来说就是把大小转换为MB,G,KB之类的字符串。
ActionBar.hide()/.show() 顾名思义,隐藏和显示ActionBar,可以优雅地在全屏和带Actionbar之间转换。
Linkify.addLinks() 在Text上添加链接。很实用。
StaticLayout 在自定义 View 中渲染文字的时候很实用。
Activity.onBackPressed() 很方便的管理back键的方法,有时候需要自己控制返回键的事件的时候,可以重写一下。比如加入 “点两下back键退出” 功能。
GestureDetector 用来监听和相应对应的手势事件,比如点击,长按,慢滑动,快滑动,用起来很简单,比你自己实现要方便许多。
DrawFilter 可以让你在不调用onDrew方法的情况下,操作canvas,比了个如,你可以在创建自定义 View 的时候设置一个 DrawFilter,给父 View 里面的所有 View 设置反别名。
ActivityManager.getMemoryClass() 告诉你你的机器还有多少内存,在计算缓存大小的时候会比较有用.
ViewStub 它是一个初始化不做任何事情的 View,但是之后可以载入一个布局文件。在慢加载 View 中很适合做占位符。唯一的缺点就是不支持标签,所以如果你不太小心的话,可能会在视图结构中加入不需要的嵌套。
SystemClock.sleep() 这个方法在保证一定时间的 sleep 时很方便,通常我用来进行 debug 和模拟网络延时。
DisplayMetrics.density 这个方法你可以获取设备像素密度,大部分时候最好让系统来自动进行缩放资源之类的操作,但是有时候控制的效果会更好一些.(尤其是在自定义View的时候).
‘贰’ 安卓系统怎样使手机连接到无线网
如您所说的无线是指联通WLAN业务的话,您可按以下方式在电脑或手机/PAD登陆我司WLAN业务:
1.电脑或手机/PDA中开启WiFi功能,或插入WiFi网卡;
2.连上信号网络,在无线网络连接列表中选择“ChinaUnicom”,并点击连接;
3.连上WLAN网络后,打开浏览器随便输入一个网址,回车,如果系统配置正确,会引导到wlan的登录界面;
4.显示登陆页面后输入账户密码以及验证码,登陆成功后,请不要关闭此页面(关闭此页面代表断开网络),打开另外的浏
览器页面即可进行上网业务。
如非上述情况,建议您可联系当地联通客服进行了解的。
‘叁’ 安卓手机怎么连接移动网络
下拉手机状态栏,点击开启移动数据开关,就可以连接移动网络了。
‘肆’ android连接网络服务器
package com.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
public class TestPost extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.loading);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final Map<String, String> params0 = new HashMap<String, String>();
params0.put("username", username);
params0.put("password", password);
final String url0 = "http://192.168.0.11:80/xxxx.php";
Runnable downloadRun = new Runnable() {
@Override
public void run() {
Looper.prepare();
try {
String result0 = sendPostRequest(
params0, url0);
JSONObject jsonObject = new JSONObject(result0);
String status = jsonObject.getString("status");
String message = jsonObject.getString("message");
if (status.equals("success")) {
//成功干啥
} else {
//失败干啥
}
} catch (Exception e) {
//出现异常干啥
}
}
};
new Thread(downloadRun).start();
}
}, 200);
}
//post请求方法
public String sendPostRequest(Map<String, String> params, String actionurl)
throws Exception {
String URl = actionurl;
StringBuilder sb = new StringBuilder();
if (params != null && !params.isEmpty()) {
for (Map.Entry<String, String> entry : params.entrySet()) {
sb.append(entry.getKey()).append('=')
.append(URLEncoder.encode(entry.getValue(), "UTF-8"))
.append('&');
}
sb.deleteCharAt(sb.length() - 1);
}
byte[] entitydata = sb.toString().getBytes();// 得到实体的二进制数据
URL url = new URL(URl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setConnectTimeout(10000);
conn.setDoOutput(true);// 如果通过post提交数据,必须设置允许对外输出数据
conn.setUseCaches(false);// 是否缓存
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length",String.valueOf(entitydata.length));
OutputStream outStream = conn.getOutputStream();
outStream.write(entitydata);
outStream.flush();
outStream.close();
BufferedReader bufferRead = null;
if(conn.getResponseCode() == 200){
bufferRead = new BufferedReader(new InputStreamReader(conn.getInputStream()));
}
String result = "";
String readLine = null;
while ((readLine = bufferRead.readLine()) != null) {
result += readLine;
}
bufferRead.close();
conn.disconnect();
return result;
}
}
我用的是这种方法
‘伍’ Android手机如何连接普通网线上网
普通的基于Android系统的手机都是可以通过有线网连接到网络的,方法也很简单,只需要一根USB Type-C转以太网接口的转换器就可以了,如果你的手机比较老,使用的是USB Micro-B接口,那么也有对应的Micro-B转以太网的转接器。
使用方法也很简单粗暴,一头插在你手机上,一头连接网线就可以直接使用了
p.s.仅适用于安卓系统的设备,不适用于iPad、iPhone
‘陆’ Android如何获取网络连接状态及怎样调用网络配置界面
1. Android获取网络连接状态的代码如下:
public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
2.转跳到网络设置界面:
Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");
startActivity(wifiSettingsIntent);
‘柒’ 安卓系统的手机连接不上无线网络怎么办
1、检查输入的无线密码是否正确
2、如果输入密码正确还是无法连接到无线网络的话,我们可以先关闭wifi,然后重新开启,尝试一下。
3、另外还需要检查一下,路由器发射信号的强度,还有就是是否存在障碍物,比如墙等等,要想连接到无线网络,也需要在信号比较好的地方连接。
4、查看wi-fi高级设置。如果上述所有方法都没有能解决问题的话,下面要做的就是进入安卓手机wi-fi的高级设置进行相关设置了。打开手机菜单,进入“设置”窗口,选择“无线和网络”,进入“wi-fi设置”,然后进入“高级”选项,进入“代理服务器设置”,确认安卓设备没有使用代理服务器,如果在代理部分发现ip地址或者域名的话,将其删除,即可解决wi-fi连接故障。
5、设置静态ip地址。
‘捌’ 安卓手机的移动网络连接,该如何具体设置
安卓手机使用WLAN功能的设置方法:进入设定-WLAN-开,搜寻正确的无线网络后输入正确的密码即可。
‘玖’ 安卓系统手机如何宽带连接
首先你要有宽带,有无线路由器,有一部带wifi的安卓手机。然后把无线路由器打开。在手机上打开系统设置,无线与网络,wifi,打开。它就自动搜索了,搜到你的那个路由器名字,连接就可以了。有密码的话还要输入密码。
‘拾’ Android中如何简单检测网络是否连接
权限:
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
代码:
/*
*判断网络连接是否已开
*true已打开false未打开
**/
publicstaticbooleanisConn(Contextcontext){
booleanbisConnFlag=false;
ConnectivityManagerconManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfonetwork=conManager.getActiveNetworkInfo();
if(network!=null){
bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();
}
returnbisConnFlag;
}
/*没有网络跳转到网络设置页面
*打开设置网络界面
**/
(finalContextcontext){
//提示对话框
AlertDialog.Builderbuilder=newAlertDialog.Builder(context);
builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置",newDialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
Intentintent=null;
//判断手机系统的版本即API大于10就是3.0或以上版本
if(Build.VERSION.SDK_INT>10){
intent=newIntent(Settings.ACTION_WIRELESS_SETTINGS);
}else{
intent=newIntent();
ComponentNamecomponent=newComponentName("com.android.settings","com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
context.startActivity(intent);
}
}).setNegativeButton("取消",newDialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
dialog.dismiss();
}
}).show();
}