首页 文章 精选 留言 我的

精选列表

搜索[互联网金融],共10000篇文章
优秀的个人博客,低调大师

【云栖号案例 | 互联网】WeWork

云栖号案例库:【点击查看更多上云案例】不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策! 公司介绍 WeWork作为全球领先的空间、社区及服务提供商,于2010年创立于纽约,致力于构建全球办公空间及社区网络,助力不同公司共同成长,帮助人们开创生活而不仅是生存。WeWork现已覆盖全球100座城市,425个办公地点,拥有42万+会员,同时是阿里集团的战略合作伙伴。WeWork于2019年1月1号在中国区上线了专为其中国会员打造的会员APP,该APP是其本土化努力的一个全新里程碑,因此使得本次护航意义重大。 选择阿里云 WeWork中国区业务发展非常迅速,急需本土化APP来接管中国区域用户服务,以提供更好的客户体验。WeWork中国区APP基础资源全部基于阿里云智能部署,由于整个项目时间紧张,希望阿里云智能帮助一起制定业务上线方案,保障整个业务平稳、顺利上线。 针对这些业务痛点,阿里云智能护航团队为WeWork制定了专业和系统的APP上线护航方案。通过多次和WeWork业务团队沟通,深入了解其业务和云产品部署现状,梳理出了云产品拓扑链路与业务架构。 基于当前云产品拓扑链路与业务架构,进行了全链路风险评估,并提供风险评估结果和改进建议。同时,阿里云智能护航团队结合WeWork现状,制定了精确到天的护航筹备工作时间计划,按照计划进行项目推进和管理,最终顺利如期完成了压测调优、监控方案制定与部署、应急预案制定与演练、业务上线预检查等方案,完美保障了WeWork中国会员APP顺利上线。 获得的成效 阿里云智能护航团队帮助WeWork梳理了产品和业务架构风险,提升了业务系统稳定性和可靠性,并基于WeWork业务现状,制定了一套从护航筹备到业务上线保障的护航方案,确保了业务平稳顺利上线,整个会员APP上线过程中,业务零故障!此外,阿里云智能护航团队还从性能压测、应急预案、云产品使用方面对WeWork进行了赋能,使WeWork有能力应对后续新的业务挑战! 相关产品和服务 相关产品: 云服务器ECS 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。 更多关于云服务器ECS的介绍,参见云服务器ECS产品详情页。 云数据库RDS MySQL版 MySQL 是全球最受欢迎的开源数据库之一,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用场景。 更多关于云数据库RDS MySQL版的介绍,参见云数据库RDS MySQL产品详情页。 对象存储OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.9999999999%(12 个 9),服务设计可用性(或业务连续性)不低于 99.995%。 更多关于对象存储OSS的介绍,参见对象存储OSS产品详情页。 负载均衡SLB 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。 更多关于负载均衡SLB的介绍,参见负载均衡产品详情页。 内容分发网络CDN 阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。阿里云CDN分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。 更多关于内容分发网络CDN的介绍,参见内容分发网络产品详情页。 云企业网 阿里云致力于为用户提供优质、高效、稳定的网络传输环境,云企业网(Cloud Enterprise Network)将提供一种能够快速构建混合云和分布式业务系统的全球网络,帮助用户打造一张具有企业级规模和通信能力的云上网络。 更多关于云企业网的介绍,参见云企业网产品详情页。 相关服务: 云上护航服务(标准版) 阿里云专家团队为云上客户提供量身定制的护航服务,保障从业务目标制定到方案落地全程;护航期间7x24小时应急响应,帮助客户平稳度过业务高峰。 更多关于云上护航服务(标准版)的介绍,参见云上护航服务(标准版)详情页。 云栖号案例库:【点击查看更多上云案例】不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策!

优秀的个人博客,低调大师

android的互联网开发 上

一、java socket编程的介绍http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html 二、URL、UrlConnection网络编程介绍 三、HTTP网络编程介绍 http协议-简介http协议-C#获取网页源代码http协议-多线程文件传输 四、 Web Service网络编程介绍 五、 android WebView网络编程介绍 实例代码----------------------------------------------- 服务器端模拟 MyServer.java packagecom.amaker.socket; importjava.io.IOException; importjava.io.OutputStream; importjava.net.ServerSocket; importjava.net.Socket; /** * *Socket服务器,向客户端写HelloAndroid! */ publicclassMyServer{ publicstaticvoidmain(String[]args){ try{ ServerSocketserver=newServerSocket(8888); while(true){ Socketclient=server.accept(); OutputStreamout=client.getOutputStream(); Stringmsg="HelloAndroid!"; out.write(msg.getBytes()); client.close(); } }catch(IOExceptione){ e.printStackTrace(); } } } LoginServlet.java packagecom.amaker.http; importjava.io.IOException; importjava.io.PrintWriter; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; /** * *响应登录Servlet */ publicclassLoginServletextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); System.out.println(username+":"+password); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriterout=response.getWriter(); Stringmsg=null; if(username!=null&&username.equals("admin")&&password!=null&&password.equals("1")){ msg="登录成功!"; }else{ msg="登录失败!"; } out.print(msg); out.flush(); out.close(); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doGet(request,response); } } web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.amaker.http.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern> </servlet-mapping> </web-app> android客户端 MainActivity.java packagecom.amaker.ch13; importandroid.app.ListActivity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.ArrayAdapter; importandroid.widget.ListView; importcom.amaker.ch13.http.LoginActivity; importcom.amaker.ch13.socket.TestSocketActivity; importcom.amaker.ch13.url.TestURLActivity; importcom.amaker.ch13.webservice.TestWebServiceActivity; importcom.amaker.ch13.webservice.WeatherActivity; importcom.amaker.ch13.webview.TestWebViewActivity; publicclassMainActivityextendsListActivity{ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); //菜单项数组 String[]items={"测试Socket","测试URL、UrlConnection","测试HTTP","测试WebService","天气预报","TestWebView"}; //将菜单项数组设置为ListView的列表项展示 setListAdapter(newArrayAdapter<String>(this, android.R.layout.simple_list_item_1,items)); getListView().setTextFilterEnabled(true); } //响应菜单项的单击事件 protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){ Intentintent=null; switch(position){ case0: intent=newIntent(MainActivity.this,TestSocketActivity.class); startActivity(intent); break; case1: intent=newIntent(MainActivity.this,TestURLActivity.class); startActivity(intent); break; case2: intent=newIntent(MainActivity.this,LoginActivity.class); startActivity(intent); break; case3: intent=newIntent(MainActivity.this,TestWebServiceActivity.class); startActivity(intent); break; case4: intent=newIntent(MainActivity.this,WeatherActivity.class); startActivity(intent); break; case5: intent=newIntent(MainActivity.this,TestWebViewActivity.class); startActivity(intent); break; } } } AndroidManifest.xml <?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="com.amaker.ch13" android:versionCode="1" android:versionName="1.0"> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activityandroid:name="com.amaker.ch13.http.LoginActivity"/> <activityandroid:name="com.amaker.ch13.socket.TestSocketActivity"/> <activityandroid:name="com.amaker.ch13.url.TestURLActivity"/> <activityandroid:name="com.amaker.ch13.webservice.TestWebServiceActivity"/> <activityandroid:name="com.amaker.ch13.webservice.WeatherActivity"/> <activityandroid:name="com.amaker.ch13.webview.TestWebViewActivity"/> </application> <uses-sdkandroid:minSdkVersion="3"/> <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permissionandroid:name="android.permission.INTERNET"></uses-permission> </manifest> 一、socket编程 TestSocketActivity.java 代码 packagecom.amaker.ch13.socket; importjava.io.IOException; importjava.io.InputStream; importjava.net.Socket; importjava.net.UnknownHostException; importandroid.app.Activity; importandroid.os.Bundle; importandroid.widget.TextView; importcom.amaker.ch13.R; /** * *Android Socket客户端接收服务器信息 */ publicclassTestSocketActivityextendsActivity{ privateTextViewmyTextView; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.socket); myTextView=(TextView)findViewById(R.id.msgTextView01); try{ Socketsocket=newSocket("192.168.1.101",8888); InputStreamin=socket.getInputStream(); byte[]buffer=newbyte[in.available()]; in.read(buffer); Stringmsg=newString(buffer); myTextView.setText(msg); }catch(UnknownHostExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } } } socket.xml 代码 <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:text="等待接收服务器信息..." android:id="@+id/msgTextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> </LinearLayout> 二、URL、UrlConnection编程 TestURLActivity.java 代码 packagecom.amaker.ch13.url; importjava.io.InputStream; importjava.net.URL; importjava.net.URLConnection; importandroid.app.Activity; importandroid.graphics.Bitmap; importandroid.graphics.BitmapFactory; importandroid.os.Bundle; importandroid.widget.ImageView; importcom.amaker.ch13.R; /** *通过URL进行网络连接 */ publicclassTestURLActivityextendsActivity{ privateImageViewimageView; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.test_url); imageView=(ImageView)findViewById(R.id.ImageView01); StringurlStr="http://192.168.1.101:8080/Chapter_13_Networking_server/upload/zs.jpg"; try{ URLurl=newURL(urlStr); //1.直接使用URL获得输入流 //InputStreamin=url.openStream(); //2.获得URLconnection URLConnectionconn=url.openConnection(); InputStreamin=conn.getInputStream(); //3.如果是HTTP协议可以使用HttpURLConnection //HttpURLConnectionhttpConn=(HttpsURLConnection)conn; //in=httpConn.getInputStream(); Bitmapbm=BitmapFactory.decodeStream(in); imageView.setImageBitmap(bm); }catch(Exceptione){ e.printStackTrace(); } } } test_url.xml 代码 <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView> </LinearLayout> 三、 HTTP编程 LoginActivity.java 代码 packagecom.amaker.ch13.http; importjava.io.UnsupportedEncodingException; importjava.util.ArrayList; importjava.util.List; importorg.apache.http.HttpResponse; importorg.apache.http.NameValuePair; importorg.apache.http.client.entity.UrlEncodedFormEntity; importorg.apache.http.client.methods.HttpPost; importorg.apache.http.impl.client.DefaultHttpClient; importorg.apache.http.message.BasicNameValuePair; importorg.apache.http.protocol.HTTP; importorg.apache.http.util.EntityUtils; importandroid.app.Activity; importandroid.app.AlertDialog; importandroid.content.DialogInterface; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.EditText; importcom.amaker.ch13.R; publicclassLoginActivityextendsActivity{ /* *声明使用到的Button和EditText视图组件 */ privateButtoncancelBtn,loginBtn; privateEditTextuserEditText,pwdEditText; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.http1); /* *实例化视图组件 */ cancelBtn=(Button)findViewById(R.id.cancelButton); loginBtn=(Button)findViewById(R.id.loginButton); userEditText=(EditText)findViewById(R.id.userEditText); pwdEditText=(EditText)findViewById(R.id.pwdEditText); /* *设置登录监听器 */ loginBtn.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ Stringusername=userEditText.getText().toString(); Stringpwd=pwdEditText.getText().toString(); login(username,pwd); } }); /* *设置取消监听器 */ cancelBtn.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ finish(); } }); } /* *定义一个显示提示信息的对话框 */ privatevoidshowDialog(Stringmsg){ AlertDialog.Builderbuilder=newAlertDialog.Builder(this); builder.setMessage(msg) .setCancelable(false) .setPositiveButton("确定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intid){ } }); AlertDialogalert=builder.create(); alert.show(); } /* *通过用户名称和密码进行查询,发送Post请求,获得响应结果。 */ privatevoidlogin(Stringusername,Stringpassword){ //1.使用HttpURLConnection实现 /*StringurlStr="http://192.168.1.101:8080/Chapter_13_Networking_server/servlet/LoginServlet?"; StringqueryString="username="+username+"&password="+password; urlStr+=queryString; try{ URLurl=newURL(urlStr); HttpURLConnectionconn=(HttpURLConnection)url.openConnection(); if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){ InputStreamin=conn.getInputStream(); byte[]b=newbyte[in.available()]; in.read(b); Stringmsg=newString(b); showDialog(msg); in.close(); } conn.disconnect(); }catch(Exceptione){ showDialog(e.getMessage()); }*/ //2.使用ApacheHTTP客户端实现 StringurlStr="http://192.168.1.101:8080/Chapter_13_Networking_server/servlet/LoginServlet"; HttpPostrequest=newHttpPost(urlStr); //如果传递参数个数比较多的话,我们可以对传递的参数进行封装 List<NameValuePair>params=newArrayList<NameValuePair>(); params.add(newBasicNameValuePair("username",username)); params.add(newBasicNameValuePair("password",password)); try{ request.setEntity(newUrlEncodedFormEntity(params,HTTP.UTF_8)); HttpResponseresponse=newDefaultHttpClient().execute(request); if(response.getStatusLine().getStatusCode()==200){ Stringmsg=EntityUtils.toString(response.getEntity()); showDialog(msg); } }catch(Exceptione){ e.printStackTrace(); } } } 本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1079279

优秀的个人博客,低调大师

android的互联网开发 下

http1.xml <TableRow> <TextView android:text="用户密码:" android:id="@+id/TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView> <EditText android:text="" android:id="@+id/pwdEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:password="true"></EditText> </TableRow> <TableRowandroid:gravity="right"> <Button android:text="取消" android:id="@+id/cancelButton" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <Button android:text="登陆" android:id="@+id/loginButton" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> </TableRow> </TableLayout> /LinearLayout> 四、Web Service编程 TestWebServiceActivity.java packagecom.amaker.ch13.webservice; importjava.io.IOException; importorg.ksoap2.SoapEnvelope; importorg.ksoap2.serialization.MarshalBase64; importorg.ksoap2.serialization.PropertyInfo; importorg.ksoap2.serialization.SoapObject; importorg.ksoap2.serialization.SoapSerializationEnvelope; importorg.ksoap2.transport.AndroidHttpTransport; importorg.xmlpull.v1.XmlPullParserException; importandroid.app.Activity; importandroid.os.Bundle; publicclassTestWebServiceActivityextendsActivity{ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); StringserviceNamespace="http://tempuri.org/"; StringserviceURL="http://www.ayandy.com/Service.asmx"; StringmethodName="getWeatherbyCityName"; SoapObjectrequest=newSoapObject(serviceNamespace,methodName); PropertyInfoinfo=newPropertyInfo(); info.setName("theCityName"); info.setValue("北京"); PropertyInfoinfo2=newPropertyInfo(); info2.setName("theDayFlag"); info2.setValue("1"); request.addProperty(info); request.addProperty(info2); SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut=request; (newMarshalBase64()).register(envelope); AndroidHttpTransportht=newAndroidHttpTransport(serviceURL); ht.debug=true; try{ ht.call("http://tempuri.org/getWeatherbyCityName",envelope); if(envelope.getResponse()!=null){ System.out.println(envelope.getResult()); } }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(XmlPullParserExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } } WeatherActivity.java packagecom.amaker.ch13.webservice; importjava.util.List; importandroid.app.Activity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.AdapterView; importandroid.widget.ArrayAdapter; importandroid.widget.Spinner; importandroid.widget.TextView; importandroid.widget.AdapterView.OnItemSelectedListener; importcom.amaker.ch13.R; /** * *显示天气预报 */ publicclassWeatherActivityextendsActivity{ //声明视图组件 privateTextViewdisplayTextView; privateSpinnerspinner; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.weather); //实例化视图组件 displayTextView=(TextView)findViewById(R.id.displayTextView03); spinner=(Spinner)findViewById(R.id.citySpinner01); List<String>citys=WebServiceUtil.getCityList(); ArrayAdaptera=newArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item,citys); spinner.setAdapter(a); spinner.setOnItemSelectedListener(newOnItemSelectedListener(){ @Override publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1, intarg2,longarg3){ Stringmsg=WebServiceUtil.getWeatherMsgByCity(spinner.getSelectedItem().toString()); displayTextView.setText(msg); } @Override publicvoidonNothingSelected(AdapterView<?>arg0){ } }); } } WebServiceUtil.java packagecom.amaker.ch13.webservice; importjava.io.IOException; importjava.io.InputStream; importjava.util.ArrayList; importjava.util.List; importjavax.xml.parsers.DocumentBuilder; importjavax.xml.parsers.DocumentBuilderFactory; importorg.apache.http.HttpResponse; importorg.apache.http.NameValuePair; importorg.apache.http.client.entity.UrlEncodedFormEntity; importorg.apache.http.client.methods.HttpPost; importorg.apache.http.impl.client.DefaultHttpClient; importorg.apache.http.message.BasicNameValuePair; importorg.apache.http.protocol.HTTP; importorg.apache.http.util.EntityUtils; importorg.ksoap2.SoapEnvelope; importorg.ksoap2.serialization.MarshalBase64; importorg.ksoap2.serialization.SoapObject; importorg.ksoap2.serialization.SoapSerializationEnvelope; importorg.ksoap2.transport.AndroidHttpTransport; importorg.w3c.dom.Document; importorg.w3c.dom.Element; importorg.w3c.dom.Node; importorg.w3c.dom.NodeList; importorg.xmlpull.v1.XmlPullParserException; /** * *天气预报工具类 */ publicclassWebServiceUtil{ /* *通过传递城市名称获得天气信息 */ publicstaticStringgetWeatherMsgByCity(StringcityName){ Stringurl="http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getWeather"; HttpPostrequest=newHttpPost(url); List<NameValuePair>params=newArrayList<NameValuePair>(); params.add(newBasicNameValuePair("theCityCode",cityName)); params.add(newBasicNameValuePair("theUserID","")); Stringresult=null; try{ UrlEncodedFormEntityentity=newUrlEncodedFormEntity(params, HTTP.UTF_8); request.setEntity(entity); HttpResponseresponse=newDefaultHttpClient().execute(request); if(response.getStatusLine().getStatusCode()==200){ result=EntityUtils.toString(response.getEntity()); returnparse2(result); } }catch(Exceptione){ e.printStackTrace(); } returnnull; } /* *使用ksoap,获得城市列表 */ publicstaticList<String>getCityList(){ //命名空间 StringserviceNamespace="http://WebXml.com.cn/"; //请求URL StringserviceURL="http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx"; //调用的方法 StringmethodName="getRegionProvince"; //实例化SoapObject对象 SoapObjectrequest=newSoapObject(serviceNamespace,methodName); //获得序列化的Envelope SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope( SoapEnvelope.VER11); envelope.bodyOut=request; (newMarshalBase64()).register(envelope); //Android传输对象 AndroidHttpTransportht=newAndroidHttpTransport(serviceURL); ht.debug=true; try{ //调用 ht.call("http://WebXml.com.cn/getRegionProvince",envelope); if(envelope.getResponse()!=null){ returnparse(envelope.bodyIn.toString()); } }catch(IOExceptione){ e.printStackTrace(); }catch(XmlPullParserExceptione){ e.printStackTrace(); } returnnull; } /* *对天气信息XML文件进行解析 */ privatestaticStringparse2(Stringstr){ Stringtemp; String[]temps; Listlist=newArrayList(); StringBuildersb=newStringBuilder(""); if(str!=null&&str.length()>0){ temp=str.substring(str.indexOf("<string>")); temptemps=temp.split("</string>"); for(inti=0;i<temps.length;i++){ sb.append(temps[i].substring(12)); sb.append("\n"); } } returnsb.toString(); } /* *对得到的城市XML信息进行解析 */ privatestaticList<String>parse(Stringstr){ Stringtemp; List<String>list=newArrayList<String>(); if(str!=null&&str.length()>0){ intstart=str.indexOf("string"); intend=str.lastIndexOf(";"); temp=str.substring(start,end-3); String[]test=temp.split(";"); for(inti=0;i<test.length;i++){ if(i==0){ temp=test[i].substring(7); }else{ temp=test[i].substring(8); } intindex=temp.indexOf(","); list.add(temp.substring(0,index)); } } returnlist; } } weather.xml <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="天气预报" android:id="@+id/titleTextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="请选择城市:" android:id="@+id/cityTextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <Spinner android:id="@+id/citySpinner01" android:layout_width="fill_parent" android:layout_height="wrap_content"></Spinner> </LinearLayout> <ScrollView android:id="@+id/ScrollView01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:text="@+id/displayTextView03" android:id="@+id/displayTextView03" android:layout_width="fill_parent" android:layout_height="fill_parent"></TextView> </ScrollView> </LinearLayout> 五、WebView编程 TestWebViewActivity.java packagecom.amaker.ch13.webview; importandroid.app.Activity; importandroid.os.Bundle; importandroid.webkit.WebView; importcom.amaker.ch13.R; /** *通过WebView浏览网络 */ publicclassTestWebViewActivityextendsActivity{ privateWebViewwebView; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.test_webview); webView=(WebView)findViewById(R.id.mywebview); /*Stringurl="http://www.google.com"; webView.loadUrl(url);*/ Stringhtml=""; html+="<html>"; html+="<body>"; html+="<ahref=http://www.google.com>GoogleHome</a>"; html+="</body>"; html+="</html>"; webView.loadData(html,"text/html","utf-8"); } } test_webview.xml <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <WebView android:id="@+id/mywebview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> 本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1079312

优秀的个人博客,低调大师

《互联网运营智慧》随书视频

1、田逸0-前言下载处 2、田逸1 第一章到第四章下载 3、田逸2 第五章到第7章下载 4、田逸3 第8章moosefs分布式文件系统下载 5、田逸3 第9章 MySQL实战下载 6、田逸3 第10章云计算架构之hadoop下载 7、田逸3 第11章网关服务下载 8、田逸3 第12章 nagios监控系统,部署脚本,调试下载 9、田逸3 第13章 高可用高扩展负载均衡方案下载 本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/363658,如需转载请自行联系原作者

优秀的个人博客,低调大师

互联网运维装腔指南

1、全球化的认证有助于提升逼格,什么OCM、CCIE、RHCA、CISSP等等能考都考,再不济,也要有一张系统架构设计师或者网络规划设计师的信产部认证。每过一个认证,逼格提升一档。如果再有能一个211工程的MSC,那就再好不过了。 2、TCP/IP协议、Linux内核深入研究、ORACLE大全等等之类的超过1千页大本头的书能有效提升B格,一定要放手边。不懂不要紧,别人能看见就行了。真有人跟你谈这些,也别担心装B失败,谈网络就从TCP的实现谈起,谈Linux就从内存的管理谈起,谈数据库就从各数据库SQL语句的源码实现谈起。如果有人跟你谈MS的东西也不要紧,就说自己之前有多年的微软的工作经历,外包的也算。反正也不会有查。有人非要跟你谈硬件,最次也要从CPU的指令集的实现谈起吧。 3、大众化的东西要少用。能用ATS,就别用squid;能用postgresql,就别用MySQL;坚信什么nginx、lighty这种webserver要比apache好一万倍,而且apache能实现的功能,这些都能实现,不行就自己写模块、写扩展。实在要用apache,也别用高版本,抱死1.3的系统。有人要是问起,就说这是基于1.3的版是自己深度二次开发版本。实在要找不到的话也不要紧,没事在sf、oschina上看看什么下载量少的项目,背背项目简介啥的。不得不说,这两个网站太贴心,分类都给你做好了。总之,小众的东西能很有效的提升iBer的战斗力。 4、写脚本的话,别用grep、sort 、uniq、管道这类命令。iBer会选择使用纯粹的awk、sed的实现,长度不要紧,阅读性、性能也不是问题。功能实现了,别人都还不懂这就是关键。如果真有人来请教,也要装出一副很简单的表情。切记不要摇头尾巴晃。就算是你是从《sed和awk》这种书上抄你自己也不一定能看懂的代码。 5、虽然会shell,但也要少用shell。初级iBer,系统管理会首选perl、python、php这类3p的工具,而且要对shell这种语言有一种不屑。把什么性能、移植性、面向对象要常挂嘴边。,如果再能写二行什么erlang、ruby、lua这类语言做系统管理,绝对是iBer的装B神器,也是中级iBer的标准。高级IBer会有Haskell这类函数式语言进行系统管理,这绝对是装B的B2轰炸机呀。当然,资深iBer会返璞归真,使用面向对象进行shell编程。对,你没看错,是使用OO进行shell编程。 6、iBer对谈到Redhat、ubuntu这类大众发行版本时,会回复一个字“切!”LFS、Gentoo这类系统绝对是iBer们首选。不为什么,就为在无穷尽的编译中找到属于iBer的快感。如果非装大众发行版,iBer也会从开机画面、登陆提示等等地方打自己上深刻的烙印。iBer的寂寞岂是一般人能懂的。 7、iBer对什么checkpoint,juniper等表示不屑。必须天天把iptabes的链和表都挂在嘴边,尤其是mangle表。原则上对商用产品的一律不屑一顾,什么f5,radware一律自己开发实现。至于意外的将自己关在外面的事情一定要严格遵守各自公司的保密协议。 8、iBer的操作终端呢,像SecureCRT、xshell这种绝对是不用的,一定要用最原始的,什么黑屏绿字只是初级iBer的水平,中高级iBer的都是Alpha半透明终端,桌面背景在设置个全球internet流量趋势图。让你根本就不知道他天天对着屏幕在敲什么东西。有事没事编译一些大型软件,看着翻滚的屏幕做思考状。 9、名片的title一定要是系统架构师,没有名片也不要紧,什么QQ签名、人人状态、微博简介上,有人看的地方一定要写上。这些都是提升B格的好地方。 10、初级iBer谈流量、PV、自动化;中级iBer谈流程、谈规范,什么ITIL、ITSM要常挂嘴边;高级iBer谈架构、谈模式;资深iBer谈合同、谈成本。 11、混圈子对iBer来非常有必要的。什么XX沙龙、XX架构师大会、XX优化大会之类必要是常客,露个B脸就行。基本原则就是跟搞系统谈网络,跟搞网络的谈数据库,跟搞数据库的谈安全……对方不懂什么就谈什么对就了 12、骨灰级iBer早就超出三界外,不在五行中,他们注定有着传奇的色彩。他们正忙于对iBer们进行职业发展规划。iBer助理、iBer、高级iBer、资深iBer、iBer总监直至CBO。如果发展了到了CBO,那么你一定是一位惊天地、泣鬼神的一代B神,一统江湖的教主,供万千iBer敬仰。darling,我很看好你哟! 作者:佚名 来源:51CTO

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册