1. Trang chủ
  2. » Công Nghệ Thông Tin

Kết nối giữa SQL Server với Android studio_Hệ quản trị cơ sở dữ liệu_DBMS

73 1,7K 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 4,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

I. CÀI ĐẶT MÔI TRƯỜNG 1. Cài đặt Java Search google: “jdk download ” Tải về: http:www.oracle.comtechnetworkjavajavasedownloadsjdk8downloads2133151.html 2. Cài đặt genymotion và vitual box (máy ảo trên PC) Search google: “ genymotion download” Link: https:www.genymotion.com Đăng ký và đăng nhập tài khoản: Bấm vào Sign In để tạo một tài khoản Tải về: Tải và cài đặt Genymotion từ trang web trên. Lưu ý là phải đăng nhập vào trang web thì mới tải được. Khuyến cáo nên tải phiên bản Genymotion kèm với VirtualBox (một máy ảo tương tự như VMWare nhưng miễn phí và nguồn mở). Cài đặt vitual box: 3. Cài đặt android studio Search google: “ android studio download” Tải về: https:developer.android.comstudioindex.html Cài đặt android studio: II. CẤU HÌNH SQL SERVER 1. Config SQL Server cho phép kết nối từ xa Mở SQL Server Configuration Manager

Trang 1

KẾT NỐI ANDROID – SQLSERVER 2012

Sinh viên thực hiện:

Trang 3

http://www.oracle.com/technetwork/java/javase/downloads/jdk8 Cài đặt:

Nhập vào thư mục mà JDK sẽ được cài đặt ra, ở đây tôi đặt là:

C:\DevPrograms\Java\jdk1.8.0_45\

Trang 4

Ngay sau khi cài đặt JDK, bộ cài đặt sẽ tiếp tục hỏi bạn vị trí JRE

sẽ được cài ra Ở đây tôi chọn:

C:\DevPrograms\Java\jre.8.0_45\

Java đã được cài đặt thành công

Trang 5

Kết quả bạn có được 2 thư mục:

- Cấu hình biến môi trường cho Java:

Nhấp chuột vào This PC, chọn Properties

Trang 7

Nhấp New để tạo mới một môi trường tên JAVA_HOME

Nhập vào đường dẫn tới thư mục JDK

Trang 8

Variable name: JAVA_HOME

Variable value: C:\DevPrograms\Java\jdk1.8.0_45

Tiếp theo sửa đổi biến môi trường path

Trang 9

Thêm vào phía trước giá trị môi trường path:

%JAVA_HOME%\bin;

Trang 10

Bạn đã cài đặt và cấu hình Java thành công.

2. Cài đặt genymotion và vitual box (máy ảo trên PC)

- Search google: “ genymotion download”

- Link: https://www.genymotion.com/

- Đăng ký và đăng nhập tài khoản:

Bấm vào Sign In để tạo một tài khoản

Trang 12

Quay lại Sign In để đăng nhập.

- Tải về: Tải và cài đặt Genymotion từ trang web trên Lưu ý là

phải đăng nhập vào trang web thì mới tải được Khuyến cáo nên

tải phiên bản Genymotion kèm với VirtualBox (một máy ảo tương tự như VMWare nhưng miễn phí và nguồn mở).

- Cài đặt vitual box:

Chọn Next để tiếp tục, Cancel để hủy bỏ cài đặt.

Trang 13

Giữ nguyên các thiết lập cài đặt mặc đinh, nhấn Next để tiếp tục.

Nhấn Next để tiếp tục

Trang 14

Quá trình cài đặt sẽ ngắt và khởi động lại kết nối mạng do đó sẽ ảnh hưởng đến các kết nối mạng đang diễn ra, bạn kiểm tra lại có

đang thực hiện tác vụ mạng nào không Chọn Yes để tiếp tục.

Nhấn Install để bắt đầu quá trình cài đặt.

Trang 15

Trong quá trình cài đặt, Windows sẽ yêu cầu xác nhận các tiến trình cài đặt thiết bị ảo Đánh dấu chọn tùy chọn Always … để

chấp nhận tất cả, không xác nhận lại, sau đó nhấn Install để tiến

Trang 16

Sau khi cài đặt xong, khởi động chạy Genymotion

Các bạn click vào nút Add có hình dấu cộng ở phía trên Cửa sổ mới hiện ra

Trang 17

Các bạn Click vào nút “Sign in” và điền Username, Password vàoform, sau đó click “Sign in” để đăng nhập.

Sau khi đăng nhập xong sẽ hiện ra bảng cho các bạn chọn các máy ảo có sẵn, ở đây mình chọn máy ảo hệ điều hành Android bản 4.4.4, bạn có thể click vào hình mũi tên chỉ xuống để xem thông số máy:

Trang 18

Chờ một lúc để tải file cài đặt máy ảo về:

Nó tải về xong sẽ tự động cài đặt luôn, sau khi cài đặt xong các bạn click Finish là được

Trang 19

Quay lại Genymotion các bạn thấy cái máy ảo vừa tạo, bạn chọn

nó và click nút Start ở phía trên để khởi động máy ảo

Chờ máy ảo khởi động

Trang 20

3. Cài đặt android studio

- Search google: “ android studio download”

- Tải về: https://developer.android.com/studio/index.html

- Cài đặt android studio:

Trang 21

Sau khi tải xong, các bạn chạy file và cứ để mặc định các tùy chọn cài đặt của Android Studio.

Bạn lựa chọn tất cả các option

Trang 22

Chọn thư mục cài đặt:

Trang 23

Android Studio Installation Location:

C:\DevPrograms\Android\Android Studio

Android SDK Install Location: C:\DevPrograms\Android\sdk

Trang 25

Lựa chọn một Theme mà bạn thích

Trang 26

Trong lần chạy đầu tiên, Android cần download một vài thành phần Bạn cần chờ đợi cho tới khi tiến trình download và cài đặt hoàn thành.

Trang 27

II. CẤU HÌNH SQL SERVER

1. Config SQL Server cho phép kết nối từ xa

Mở SQL Server Configuration Manager

Trang 28

Ở menu bên trái, chọn vào mục SQL Server 2012 Services ->

Bên phải tìm mục SQL Server (MSSQLSERVER) (chú ý đây là dịch vụ cơ bản của SQL Server, tên của nó tùy thuộc vào Instant của SQL mà bạn cài vào máy, của tôi là MSSQLSERVER, có thể Instant của bạn sẽ khác) Click phải vào và chọn Properties (xem

hình)

Trang 29

Trong Tab Log On, click chọn vào Built-In Account, chọn vào

Network Service như trong hình, Click OK

Quay lại màn hình SQL Server Configuration Manager -> ở menu bên tráitiếp tục click vào mục SQL Server 2012 Network Configuration để mở ra

menu con Protocols for MSSQLSERRVER(tên trên máy bạn có thể khác),

chọn vào mục này -> bên phải tìm mục có tên là TCP/IP, click phải vào nó

và chọn Properties (xem hình)

Trang 31

Chú ý IP Address là Ip của máy (Cách kiểm tra Ip) hoặc cũng thể dùng

CMD -> IPCONFIG

Ở mục IP Address bạn xóa đi và gõ lại địa chỉ IP của máy bạn trong mạng

LAN (chú ý đây là địa chỉ IP của máy bạn trong mạng LAN – ví dụ của

tôi là 192.168.43.216)

 Ở mục Active - chọn Yes, mục Enabled - chọn Yes

 Ở mục TCP Port, khai báo cổng share mặc định của SQL, bạn có thể để mặc định là 1433

 Click OK

Trang 32

Restart lại SQL Server (bằng cách chọn vào mục SQL Server 2012

Services, bên phải click phải vào mục SQL Server (MSSQLSERVER) -> Chọn Restart)

2. Tạo một user để thực hiện kết nối từ xa

Mở Start -> All Programs -> Microsoft SQL Server 2012-> SQL Server Management Studio -> Connect vào Server

Ở menu bên trái, mở mục Security -> Login -> Nhấn chuột phải và chọnNew Login

3. Cấu hình Firewall cho phép nhận kết nối đến qua cổng share của SQL server

Vào Start -> Control Panel -> Windows Firewall -> Ở menu bên trái chọn Advanced settings

Menu bên trái, click vào mục Inbound Rules

Tiếp tục ở Menu bên phải, click vào mục New Rule

Trong cửa sổ mới hiện ra, đánh dấu vào mục Port như hình -> Nhấn Next

Trang 33

Tiếp theo nhấn chọn vào mục TCP và Specific local Ports, gõ vào 1433 (số cổng share của SQL Server đã config trong bước 2) -> Nhấn Next

Trang 34

Trên màn hình tiếp theo, đánh dấu chọn vào mục Allow the connection -> Nhấn Next

Trong màn hình tiếp theo, chọn kiểu mạng sẽ áp dụng mở cổng này, đánh dấuvào cả 3 mục Domain, Private, Public -> Nhấn Next

Trang 35

Trong màn hình tiếp theo, gõ tên kết nối và Description tùy ý -> Nhấn Finish

Trang 36

Log Off hoặc Restart lại máy

III. TRÊN SQL SERVER

1. Tạo database

USE Andro

select * from Usertbl

create table Usertbl

(

Id int identity (1,1) not null,

UserId nvarchar(50) not null,

Password nvarchar(50) not null

)

insert into Usertbl (UserId,Password) values ('hitesh1120', '789')

create table Producttbl (

Id int identity (1,1) not null,

ProName nvarchar(50) not null,

ProDesc nvarchar(50) not null,

OnDate nvarchar(50) not null

Trang 37

truncate table Producttbl

insert into Producttbl (ProName,ProDesc,OnDate) values('Samsung J7', 'Gamers targeted mobile from Samsung', '2015-10-17 19:56:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Samsung J5', 'Gamers targeted mobile from Samsung', '2015-10-17 19:56:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Xiaomi Redmi 2', 'Best Entry level smartphone from Xiaomi', '2015-10-17 19:59:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Apple iPhone 6s', 'Flagship device from APPLE', '2015-10-17 19:59:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Apple iPhone 6s Plus', 'Flagship device from APPLE','2015-10-17 19:59:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Xiaomi Redmi Note 2', 'Best Entry level smartphone from Xiaomi', '2015-10-17 19:59:00.000')

Trang 38

insert into Producttbl (ProName,ProDesc,OnDate) values('Lenovo A6000', 'Best Entry level smartphone from Lenovo', '2015-10-17 19:59:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Motorola MOTO X Pure Edition', 'Best Android device right now!!', '2015-10-17 19:59:00.000')

insert into Producttbl (ProName,ProDesc,OnDate) values('Motorola MOTO E 2gen', 'Budget device from

Trang 39

CREATE PROCEDURE viewCountry

Trang 43

IV. TẠO PROJECT TRÊN ANDROID STUDIO

1. Tạo giao diện Login đơn giản

1.1. Tạo project mới

Trang 45

Đổi tên layout: activity_main.xml -> layout_dangnhap.xml

Trang 46

Copy code về thiết kế layout vào layout_dangnhap.xml

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

<RelativeLayout

xmlns: android = "http://schemas.android.com/apk/res/an droid"

xmlns: app = auto"

xmlns: tools = "http://schemas.android.com/tools" android :layout_width= "match_parent"

android :layout_height= "match_parent"

tools :context= "com.pilu.ketnoiandroidvoisqlserver.Ma inActivity"

Trang 47

android :background= "@color/backgrounđangnhap"> <TextView

android :layout_width= "wrap_content"

<ImageView

android :layout_width= "110dp"

android :layout_alignRight= "@id/lnKhungDangNhap"

android :layout_marginTop= "@dimen/size80dp"/>

<LinearLayout

android :id= "@+id/lnKhungDangNhap"

Trang 48

android :layout_centerVertical= "true">

<EditText

android :id= "@+id/edtTenDangNhap"

android :textColorHint= "@color/colorPrimary"

android :drawablePadding= "@dimen/size10dp"

android :textColor= "@color/colorPrimaryDark"/>

<EditText

android :id= "@+id/edtMatKhau"

android :textColorHint= "@color/colorPrimary"

android :textColor= "@color/colorPrimaryDark"

Trang 49

android :padding= "@dimen/size10dp"

android :drawablePadding= "@dimen/size20dp"

android :password= "true"/>

<Button

android :id= "@+id/btnDongY"

android :background= "@color/colorPrimary"

</LinearLayout>

</RelativeLayout>

- Tạo dimen.xml trong values

Trang 53

Tạo một layout mới tên ‘android_countries’ và copy code này vào

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

<LinearLayout

xmlns: android = "http://schemas.android.com/apk/res/an droid"

android :orientation= "vertical"

android :layout_width= "match_parent"

android :layout_height= "match_parent"

android :background= "@color/colorOrange"

android :weightSum= "10" >

<EditText

Trang 54

android :id= "@+id/edtid"

android :id= "@+id/lstcountry"

android :id= "@+id/lblheader"

Trang 55

android :text= "COUNTRIES : "

Trang 57

Download thư viện jtds-1.2.7.jar để kết nối giữa Android và SQL Server.

Cách thêm thư viện vào project Android

+ Chuyển qua góc nhìn Project trong Android

Trang 58

Tạo lớp ConnectionDB.java : lớp này để truyền các thông số IP, Tên DB,

User, Pass để kết nối vào Database của SQL Server đã tạo từ trước

public class ConnectionDB {

public Connection CONN(){

StrictMode.ThreadPolicy policy = new

StrictMode.ThreadPolicy.Builder()

permitAll().build();

StrictMode.setThreadPolicy(policy);

Connection conn = null;

String ConnURL = null;

try{

Class.forName(classs);

ConnURL = "jdbc:jtds:sqlserver://" + ip + ";"

";user=" + un + ";password="

Trang 59

+ password + ";";

conn =

DriverManager.getConnection(ConnURL);

} catch (SQLException se) {

Log.e("ERRO", se.getMessage());

Tạo Class DangNhapDAO: viết các câu truy vấn để xử lý đăng nhập

public class DangNhapDAO {

ConnectionDB connectionDB = new ConnectionDB(); String z = "";

Connection con = connectionDB.CONN();

boolean kiemTra = false;

Trang 60

z = "Lỗi kết nối";

}

else

{

String query = "select * from

Trang 61

}

}

1.2. Giao diện để load, kiểm tra dữ liệu

Tạo class LoadCountries: để viết câu truy vấn

public class LoadCountries {

ConnectionDB connectionDB = new ConnectionDB(); String z="";

ResultSet rs;

Connection con = connectionDB.CONN();

final ArrayList list = new ArrayList();

public ArrayList getListCountries(){

} catch (Exception ex) {

z = "Exceptions";

}

return list;

}

Trang 62

public ArrayList getCountriesName(String edtid){

}catch (Exception ex){

Tạo class Countries: để xử lý

public class Countries extends AppCompatActivity{ TextView lblheader;

Typeface font;

Button btnviewall,btnview;

ListView lstcountry;

Trang 63

edtid = (EditText) findViewById(R.id.edtid);

final LoadCountries loadCountries = new

LoadCountries();

btnviewall.setOnClickListener(new

View.OnClickListener() {

@Override

Trang 64

public void onClick(View v) {

ArrayAdapter adapter = new

Trang 65

});

}

}

Về giao diện chính MainActivity khai báo , ánh xạ các đối tượng

Viết sự kiện Click cho Button Login

public class MainActivity extends AppCompatActivity {

Trang 66

String z =

dangnhapDB.Login(tendangnhap,matkhau);

final Intent myIntent = new

Intent(MainActivity.this,Countries.class);

Trang 67

Bước cuối cùng phải cấp quyền cho ứng dụng truy cập internet để lấy dữ liệu

Trang 68

Sau khi chạy xong Gõ tên đăng nhập và mật khẩu bên bảng Usertbl mà ta đãchèn vào SQLserver

Trang 69

V. MỘT SỐ LỖI GẶP PHÃI TRONG QUÁ TRÌNH LÀM BÀI VÀ CÁCH FIX

Trang 70

Lỗi 1:

E/ERRO: Network error IOException: failed to connect to /192.168.1.103 (port 1433): connect failed: ECONNREFUSED (Connection refused)

Cách fix lỗi:

Chỉnh lại Ip trong bảng TCP/Ip trong SLQ Configuaration (Để ý IP

Address : 127.0.0.1 chỉnh lại bằng IP Static của máy)

Trang 71

Tiếp theo bật SQL SERVER BROWSER Nếu SQL Server Browser có lỗi thìvào service của hệ thống Start lại.

Trang 72

Cách fix lỗi : thêm thư viện jtds-2.1.7 vào project

02-27 20:28:43.765 12397-12436/com.example.nhatthanh.exlogin1 E/ERRO:Network error IOException: socket failed: EACCES (Permission denied)

 Thiếu quyền truy cập internet

<uses-permission android:name="android.permission.INTERNET" /> Lỗi 3: Chưa cấp quyền truy cập

Properties -> server Roles chọn quyền

- sysadmin: làm một thành phần có thể biểu diễn bất cứ hành động nào trên server

- serveradmin: là thành phần có thể thay đổi các lựa chọn để cấu hình server

và tắt server

- securityadmin:là thành phần quản lý đăng nhập và các quyền sở hữu của họ

Họ có giấy phép GRANT(cấp), DENY(từ chối), and REVOKE(thu hồi)quyền truy cập trên server

Họ có giấy phép GRANT(cấp, DENY(từ chối), and REVOKE(thu hồi) quyền truy cập trên database nếu học truy cập đến một cơ sở dữ liệu

Ngoài ra, họ có thể đặt lại mật khẩu cho sự đăng nhập SQL server

- processadmin: là thành phần có thể kết thúc tiến trình trong khi nó đang chạy trong một thể hiện của SQL server

- setupadmin:là thành phần có thể thêm và xóa liên kết server

Trang 73

- bulkadmin: là thành phần có thể chạy câu lệnh BULK INSERT.

- diskadmin: sử dụng cho sự quản lý tập tin trên đĩa

- dbcreator: là thành phần có thể tạo, thay đổi, xóa, hồi phục lại database

- public: Mỗi SQL server đăng nhập thuộc về vai trò public server

Khi chính máy chủ server không được cấp hoặc từ chối cấp phép cụ thểtrên một đối tượng securable,

người sử dụng kế thừa các quyền được cấp cho công chúng vào đối tượng đó

Chỉ gán quyền nào trên bất kỳ đối tượng khi bạn muốn các đối tượng

có sẵn cho tất cả người dùng

Ngày đăng: 06/05/2017, 11:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w