С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 16.02.2016
Сообщений: 42
1

Как подключиться к удаленной бд в Android studio

30.09.2017, 19:56. Показов 3712. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть сайт с бд phpmyadmin, хочу подключиться из Android studio к удаленной бд phpmy admin, помогите найти в чем не прав

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    public static final String username = "ilandper_lewan";
    public static final String password = "*******";
    public static final String url = "jdbc:mysql://88.212.247.188:3306/ilandper_database";
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        connect();
    }
 
 
    public void connect()
    {
 
        Connection connection = null;
 
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            System.out.println("_________________________CONNENT___________________________");
        }catch(Exception e){
            System.err.println("Cannot create connection-------------------------------------");
        }
 
        try{
            connection = DriverManager.getConnection(url,username,password);
            Statement statement = connection.createStatement();
            System.out.println("_________________________SUCCESS__________________________");
 
        }catch(Exception e){
            System.err.println("-----------------------Error--------------------");
        }
 
    }
09-30 21:57:02.348 10544-10544/? I/zygote: Not late-enabling -Xcheck:jni (already on)
09-30 21:57:02.397 10544-10544/? W/zygote: Unexpected CPU variant for X86 using defaults: x86
09-30 21:57:03.098 10544-10551/com.example.golden.myapplication2 W/zygote: Suspending all threads took: 6.690ms
09-30 21:57:03.270 10544-10544/com.example.golden.myapplication2 I/System.out: _________________________CONNENT___________________________
09-30 21:57:03.425 10544-10549/com.example.golden.myapplication2 I/zygote: Do partial code cache collection, code=30KB, data=19KB
09-30 21:57:03.533 10544-10549/com.example.golden.myapplication2 I/zygote: After code cache collection, code=23KB, data=19KB
09-30 21:57:03.533 10544-10549/com.example.golden.myapplication2 I/zygote: Increasing code cache capacity to 128KB
09-30 21:57:03.668 10544-10549/com.example.golden.myapplication2 I/zygote: Do partial code cache collection, code=60KB, data=38KB
09-30 21:57:03.668 10544-10549/com.example.golden.myapplication2 I/zygote: After code cache collection, code=55KB, data=37KB
09-30 21:57:03.668 10544-10549/com.example.golden.myapplication2 I/zygote: Increasing code cache capacity to 256KB
09-30 21:57:03.668 10544-10544/com.example.golden.myapplication2 W/System.err: -----------------------Error--------------------
09-30 21:57:03.710 10544-10585/com.example.golden.myapplication2 D/OpenGLRenderer: HWUI GL Pipeline

[ 09-30 21:57:03.814 10544:10585 D/ ]
HostConnection::get() New Host Connection established 0x9a9e4600, tid 10585
09-30 21:57:03.926 10544-10585/com.example.golden.myapplication2 I/OpenGLRenderer: Initialized EGL, version 1.4
09-30 21:57:03.926 10544-10585/com.example.golden.myapplication2 D/OpenGLRenderer: Swap behavior 1
09-30 21:57:03.930 10544-10585/com.example.golden.myapplication2 W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
09-30 21:57:03.930 10544-10585/com.example.golden.myapplication2 D/OpenGLRenderer: Swap behavior 0
09-30 21:57:03.936 10544-10585/com.example.golden.myapplication2 D/EGL_emulation: eglCreateContext: 0xa83a18c0: maj 2 min 0 rcv 2
09-30 21:57:03.939 10544-10585/com.example.golden.myapplication2 D/EGL_emulation: eglMakeCurrent: 0xa83a18c0: ver 2 0 (tinfo 0x9a9c4730)

[ 09-30 21:57:03.964 10544:10585 D/ ]
SurfaceInterface::setAsyncMode: set async mode 1
09-30 21:57:03.969 10544-10585/com.example.golden.myapplication2 D/EGL_emulation: eglMakeCurrent: 0xa83a18c0: ver 2 0 (tinfo 0x9a9c4730)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2017, 19:56
Ответы с готовыми решениями:

Подключение к удаленной бд mysql в Android studio
Добрый день, пытаюсь реализовать удаленное подключение к бд (phpmyadmin). Взял бесплатный хостинг...

Android Studio - подключиться к внешней бд
Как подключиться к внешней базе данных, находящейся на хостинге через андройд приложение. Что за...

Не могу подключиться к FTP в Android Studio
Добрый день. Пытаюсь подключиться к FTP серверу и на строке ftp.connect(FTP_Adress, FTP_Port);...

Как подключиться к удалённой базе данных в Builder6
Помогите, пожалуйста, кто знает. Пытаюсь подключиться к удалённой БД с использованием BDE. Если...

4
398 / 342 / 84
Регистрация: 17.10.2014
Сообщений: 1,013
02.10.2017, 08:56 2
Да причин может быть масса:
1. NetworkOnMainThreadException
2. Нет разрешения на Internet
3. К базе нельзя напрямую конектиться из вне.
...

Без ошибки точно сказать нельзя, так что после:
Java
1
System.err.println("-----------------------Error--------------------");
добавьте еще строку которая будет выводить саму ошибку:
Java
1
System.err.println(""+e);
0
1 / 1 / 0
Регистрация: 16.02.2016
Сообщений: 42
04.10.2017, 12:00  [ТС] 3
Разобрался)) могу скинуть, если кому интересно
0
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
04.10.2017, 15:16 4
Цитата Сообщение от GOLD950 Посмотреть сообщение
огу скинуть, если кому интересно
сразу скинул бы. Когда нибудь понадобится кому то..
0
1 / 1 / 0
Регистрация: 16.02.2016
Сообщений: 42
04.10.2017, 15:58  [ТС] 5
подключаюсь с помощью HttpClient , но как я понял его лучше не использовать так как старый. Работает с API не ниже 19 вроде. Попробуйте лучше HttpUrlConnection (сам не юзал). Так же на серваке нужно обработать подключения, сделал на php

MainActivity

В главное нити не запускается! нужно создавать
Если не прав помогите разобраться, буду благодарен

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.example.golden.db_away;
 
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
 
import java.util.ArrayList;
 
public class MainActivity extends ActionBarActivity {
 
    zapros zapros = new zapros();
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
    }
 
    public void myClick(View view)
    {
        EditText text_id = (EditText)findViewById(R.id.editText);
 
        Toast.makeText(this, "Зачем вы нажали?", Toast.LENGTH_SHORT).show();
        zapros.param = "http://site.ru/file.php?id="+text_id.getText().toString();
 
        Thread thread = new Thread(zapros);
        thread.start();
 
        try {
 
            //Thread.currentThread().join();
 
            if (thread.isAlive()) System.out.println("working");
            else System.out.println("wait_close");
            //myThread.thread.join();
 
            while (thread.isAlive()) {
                //wait
            }
 
            ArrayList<String> names = new ArrayList<>();
 
 
            ArrayList<ArrayList<String>> lists = new ArrayList<ArrayList<String>>(zapros.arrayLists());
 
            for(int i = 0;i < lists.size();i++)
            {
                names.add(lists.get(i).get(0));
            }
 
 
 
            // находим список
            ListView lvMain = (ListView) findViewById(R.id.lvMain);
 
            // создаем адаптер
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, names);
 
            // присваиваем адаптер списку
            lvMain.setAdapter(adapter);
 
 
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
 
        if (thread.isAlive()) System.out.println("yet_working");
        else System.out.println("close");
    }
 
 
 
}
class zapros

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.example.golden.db_away;
 
import android.util.Log;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
 
public class zapros extends Thread
{
 
    String name = "111";
    InputStream is = null;
    String result = null;
    String line = null;
    String param;
    int id;
 
 
 
  static   ArrayList<ArrayList<String>> lists ;
    ArrayList<String> list ;
 
 
 
    @Override
    public void run()
    {
 
        Log.e("RUN-_________", "start");
        // создаем лист для отправки запросов
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 
        try {
            HttpClient httpclient = new DefaultHttpClient();
//          HttpPost httppost = new HttpPost("http://site.ru/file.php");
            HttpPost httppost = new HttpPost(param);
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
            Log.e("pass 1", "connection success ");
 
 
        } catch (Exception e) {
 
            Log.e("Fail 1", e.toString());
        }
 
        // получаем ответ от php запроса в формате json
        try
        {
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
            StringBuilder sb = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            result = sb.toString();
            Log.e("pass 2", "connection success" + result);
 
        } catch (Exception e)
        {
 
            Log.e("Fail 2", e.toString());
        }
 
        // обрабатываем полученный json
        try
        {
 
            lists = new ArrayList<ArrayList<String>>();
 
            JSONArray jsonarray = new JSONArray(result);
 
            for (int i = 0; i < jsonarray.length(); i++) {
                list = new ArrayList<>();
                list.clear();
                JSONObject jsonobject = jsonarray.getJSONObject(i);
                name = jsonobject.getString("name");
                id = jsonobject.getInt("id");
 
                list.add(name);
                list.add(Integer.toString(id));
                lists.add(i,list);
 
                Log.e("pass 3",name);
 
 
            }
 
            Log.e("RUN___", "end...");
 
            try {
                if(this.isAlive())
                {
                    Log.e("RUN___", "working...");
                }
 
 
            }catch (Exception e)
            {
                Log.e("test",e.getMessage());
            }
 
 
        }
        catch(Exception e)
        {
            Log.e("Fail 3", e.toString());
        }
 
    }
 
    public ArrayList<ArrayList<String>> arrayLists()
    {
        return lists;
    }
 
}
simple_list_item_1.mxl
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
androidaddingLeft="6dip"
android:minHeight="?android:attr/listPreferredItemHeight">
</TextView>


——————————
activity_main_xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
/>

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="myClick"
android:text="Button"/>

<ListView
android:id="@+id/lvMain"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>

</LinearLayout>

Буду благодарен если кто подскажет как будет лучше создавать подключения к УДАЛЕННОЙ БД и как лучше обрабатывать
0
04.10.2017, 15:58
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2017, 15:58
Помогаю со студенческими работами здесь

Как подключиться с агенту настроенному для удаленной отладки ?
1) Настроил удаленную отладку на Domino 6.5.4: - указал задачу RDebug в notes.ini, на...

Как подключиться к удаленной базе данных, расположенной на сетевом компьютере?
У меня возникла проблема. Если упростить, то проблема заключается в следующем. Есть два компьютера...

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал так, File -&gt; New -&gt;...

Не могу подключиться к удаленной БД
Всем привет! Не могу подключиться к бесплатному хосту. Не понимаю, вроде пишу нужный URL? package...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru