|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
Все тапки летят мимо :) Добрый день! Перепробовал ряд примеров с использованием HttpClient и ни разу приложению не удалось запуститься на устройстве. Как понял из гугла - HttpClient устарела, а все найденные примеры именно на нем основаны. В манифесте пермишн на интернет есть. Код: xml 1.
В грэдле про апач тоже есть Код: java 1. 2. 3. 4.
Классы импортированы - гредл не ругается, но как и положено зачеркивает то что устарело. Дайте пожалуйста самый простой пример чтоб он работал на студии 1.4. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 10:55 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
Добрый. :) Что значите "данные из урла"? Страницу загрузить или что там? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:04 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
wadmanДобрый. :) Что значите "данные из урла"? Страницу загрузить или что там? Можно и страницу, но не в виде Web, а именно текст. В последующем планируется возвращать данные в json и в приложении парсить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:11 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
ImperousМожно и страницу, но не в виде Web, а именно текст. Хм... Тогда ImperousПерепробовал ряд примеров с использованием HttpClient и ни разу приложению не удалось запуститься на устройстве. Какое сообщение было на устройстве? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:33 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
то что оно устарело, не значит, что не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:51 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
Сообщение такое 'В приложении "MyApp" произошла ошибка." Исходники, чтоб не догадываться MainActivity.java package com.example.user.myapp; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.TextView; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(" http://gong.esy.es/json.php"); request.setHeader("User-Agent", "set your desired User-Agent"); try { HttpResponse response = client.execute(request); // Check if server response is valid StatusLine status = response.getStatusLine(); if (status.getStatusCode() != 200) { throw new IOException("Invalid response from server: " + status.toString()); } // Pull content stream from response HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); ByteArrayOutputStream content = new ByteArrayOutputStream(); // Read response into a buffered stream int readBytes = 0; byte[] sBuffer = new byte[512]; while ((readBytes = inputStream.read(sBuffer)) != -1) { content.write(sBuffer, 0, readBytes); } // Return result from buffered stream String dataAsString = new String(content.toByteArray()); TextView tv; tv = (TextView) findViewById(R.id.textview); tv.setText(dataAsString); } catch (IOException e) { Log.d("error", e.getLocalizedMessage()); } } } AndroidManifrest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" http://schemas.android.com/apk/res/android" package="com.example.user.myapp" > <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Gradle apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.example.user.myapp" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } useLibrary 'org.apache.http.legacy' } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5' } activity_main.xml <?xml version="1.0" encoding="utf-8"?> <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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView xmlns:android=" http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="tedxt" /> </RelativeLayout> ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 12:06 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
ImperousСообщение такое 'В приложении "MyApp" произошла ошибка." Не, это для пользователя информация. Программисты смотрят в логкат. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 12:10 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
wadmanImperousСообщение такое 'В приложении "MyApp" произошла ошибка." Не, это для пользователя информация. Программисты смотрят в логкат. Вот это имелось в виду? 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: FATAL EXCEPTION: main 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.myapp/com.example.user.myapp.MainActivity}: android.os.NetworkOnMainThreadException 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2211) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:149) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.os.Looper.loop(Looper.java:153) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4987) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: Caused by: android.os.NetworkOnMainThreadException 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1125) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.net.InetAddress.lookupHostByName(InetAddress.java:385) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.net.InetAddress.getAllByName(InetAddress.java:214) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:365) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at com.example.user.myapp.MainActivity.onCreate(MainActivity.java:31) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5020) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2211) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:149) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.os.Looper.loop(Looper.java:153) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4987) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 12-23 11:58:55.611 2330-2330/com.example.user.myapp E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 13:01 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
Imperousandroid.os.NetworkOnMainThreadException Запрещено организовывать работу с сетью в основном потоке. Впрочем, как и любую другую тяжелую работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 14:11 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
wadmanImperousandroid.os.NetworkOnMainThreadException Запрещено организовывать работу с сетью в основном потоке. Впрочем, как и любую другую тяжелую работу. пасиб, панатнава... можно всеже дать пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 14:49 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
Imperouswadmanпропущено... Запрещено организовывать работу с сетью в основном потоке. Впрочем, как и любую другую тяжелую работу. пасиб, панатнава... можно всеже дать пример? Вот отличный пример: androidannotations 18169863 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 14:59 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
еще можно retrofit посмотреть, впечатления сугубо положительные, недостатков обнаружил 1,5 1) документация устарела и ориентирована на 1.х, хотя версия 2.х уже в ходу 2) дополнительные зависимости, что само по себе не то чтобы недостаток, но на больших проектах может привести к выходу за 65к методов и необходимости юзать proguard при разработке (либо идти на ухищрения). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 15:27 |
|
Как получить данные из урла?
|
|||
---|---|---|---|
#18+
Спасибо за подсказки, но это вы загрузили новичка в джаве, я такого пока не умею. Нашел пример, немного изменил и заработало. Может кому-то сгодится. Пример. 1) На сервере веб-сервере создаем файл usertest.php, в котором проверка на логин и пароль, и если ОК - возвращает роль. Сейчас для проверки логин и пароль = admin 2) Создаем 2 empty активити, вторую обзываем "SigninActivity". activity_main.xml <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/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/editText1" android:layout_marginTop="25dp" android:ems="10" android:inputType="textPassword" > </EditText> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginTop="44dp" android:ems="10" > <requestFocus android:layout_width="wrap_content" /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/editText1" android:layout_alignParentLeft="true" android:text="@string/Username" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="@string/App" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView5" android:layout_alignLeft="@+id/textView6" android:text="@string/Role" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="10sp" /> <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView6" android:layout_marginTop="27dp" android:layout_toLeftOf="@+id/editText1" android:text="@string/LoginRole" /> <TextView android:id="@+id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/textView6" android:layout_alignLeft="@+id/textView5" android:layout_marginBottom="27dp" android:text="@string/method" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView8" android:layout_below="@+id/button1" android:layout_marginTop="86dp" android:text="@string/LoginStatus" /> <TextView android:id="@+id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textView4" android:layout_centerHorizontal="true" android:text="@string/Status" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="10sp" /> <TextView android:id="@+id/textView9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView8" android:layout_alignLeft="@+id/textView6" android:text="@string/Choose" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="10sp" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toRightOf="@+id/textView6" android:onClick="loginPost" android:text="@string/LoginPost" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button2" android:layout_alignBottom="@+id/button2" android:layout_alignLeft="@+id/textView2" android:onClick="login" android:text="@string/LoginGet" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText2" android:layout_alignBottom="@+id/editText2" android:layout_alignParentLeft="true" android:text="@string/Password" /> </RelativeLayout> strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">PHPMYSQL</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="Username">Username</string> <string name="Password">Password</string> <string name="LoginGet">Login - Get</string> <string name="LoginPost">Login - Post</string> <string name="App">Login Application</string> <string name="LoginStatus">Login Status</string> <string name="LoginRole">Login Role</string> <string name="Status">Not login</string> <string name="Role">Not assigned</string> <string name="method">Login Method</string> <string name="Choose">Choose Method</string> </resources> MainActivity.java package com.example.phpmysql; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { private EditText usernameField,passwordField; private TextView status,role,method; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); usernameField = (EditText)findViewById(R.id.editText1); passwordField = (EditText)findViewById(R.id.editText2); status = (TextView)findViewById(R.id.textView6); role = (TextView)findViewById(R.id.textView7); method = (TextView)findViewById(R.id.textView9); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. //getMenuInflater().inflate(R.menu.main, menu); return true; } public void login(View view){ String username = usernameField.getText().toString(); String password = passwordField.getText().toString(); method.setText("Get Method"); new SigninActivity(this,status,role,0).execute(username,password); } public void loginPost(View view){ String username = usernameField.getText().toString(); String password = passwordField.getText().toString(); method.setText("Post Method"); new SigninActivity(this,status,role,1).execute(username,password); } } SigninActivity.java package com.example.phpmysql; import android.content.Context; import android.os.AsyncTask; import android.widget.TextView; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; public class SigninActivity extends AsyncTask<String,Void,String>{ private TextView statusField,roleField; private Context context; private int byGetOrPost = 0; //flag 0 means get and 1 means post.(By default it is get.) public SigninActivity(Context context,TextView statusField,TextView roleField,int flag) { this.context = context; this.statusField = statusField; this.roleField = roleField; byGetOrPost = flag; } protected void onPreExecute(){ } @Override protected String doInBackground(String... arg0) { if(byGetOrPost == 0){ //means by Get Method try{ String username = (String)arg0[0]; String password = (String)arg0[1]; String link = " http://gong.esy.es/usertest.php?username=" username "&password=" password; URL url = new URL(link); HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(); request.setURI(new URI(link)); HttpResponse response = client.execute(request); BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(""); String line=""; while ((line = in.readLine()) != null) { sb.append(line); break; } in.close(); return sb.toString(); } catch(Exception e){ return new String("Exception: " + e.getMessage()); } } else{ try{ String username = (String)arg0[0]; String password = (String)arg0[1]; String link=" http://gong.esy.es/usertest.php"; String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8"); data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8"); URL url = new URL(link); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write( data ); wr.flush(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuilder sb = new StringBuilder(); String line = null; // Read Server Response while((line = reader.readLine()) != null) { sb.append(line); break; } return sb.toString(); } catch(Exception e){ return new String("Exception: " + e.getMessage()); } } } @Override protected void onPostExecute(String result){ if(result.trim().length() == 0){ this.statusField.setText("Login Failed"); } else { this.statusField.setText("Login Successful"); } this.roleField.setText(result); } } Gradle apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.example.phpmysql" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } useLibrary 'org.apache.http.legacy' } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5' } AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" http://schemas.android.com/apk/res/android" package="com.example.phpmysql" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.phpmysql.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> </application> </manifest> ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 13:46 |
|
|
start [/forum/topic.php?fid=13&msg=39135528&tid=1331204]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 260ms |
total: | 383ms |
0 / 0 |