Commit 4492d36d authored by 張益誠's avatar 張益誠

Signed-off-by: AIE_Hope <omg112119@gmail.com>

parent 06b42ed4
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
</code_scheme>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>
\ No newline at end of file
......@@ -3,6 +3,9 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<compositeConfiguration>
<compositeBuild compositeDefinitionSource="SCRIPT" />
</compositeConfiguration>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
......
......@@ -29,7 +29,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
......@@ -7,8 +7,8 @@ android {
applicationId "com.ecom.park_jy"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
versionCode 2
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
......
......@@ -436,6 +436,9 @@ public class Commin {
s1 = string1.toCharArray();
s2 = string2.toCharArray();
System.out.println(s1);
System.out.println(s2);//回報測試
for (int temp = 0; temp < 9; temp++) {
if (temp % 2 == 0) //基數位數
{
......
......@@ -988,30 +988,48 @@ public class Start extends AppCompatActivity implements LocationListener {
private void setBillingNumber() { //單號產生
String tof = "";
calendar = Calendar.getInstance();
System.out.println("calendar-=>"+calendar);
termCalendar = Calendar.getInstance();
System.out.println("termCalendar-=>"+termCalendar);
termCalendar.add(Calendar.DATE, 19);
System.out.println("termCalendar_add-=>"+termCalendar);//註解
billingNumber1 = String.valueOf(termCalendar.get(Calendar.YEAR) - 11).substring(2);
if (String.valueOf(termCalendar.get(Calendar.MONTH) + 1).length() == 1)
System.out.println("billingNumber1-=>"+billingNumber1);//註解
if (String.valueOf(termCalendar.get(Calendar.MONTH) + 1).length() == 1) //月份小於10則在前面補0
billingNumber1 += "0";
billingNumber1 += String.valueOf(termCalendar.get(Calendar.MONTH) + 1);
if (String.valueOf(termCalendar.get(Calendar.DATE)).length() == 1)
System.out.println("billingNumber1_add_m-=>"+billingNumber1);//註解
if (String.valueOf(termCalendar.get(Calendar.DATE)).length() == 1) //日期小於10則在前面補0
billingNumber1 += "0";
billingNumber1 += String.valueOf(termCalendar.get(Calendar.DATE));
System.out.println("billingNumber1_add_d-=>"+billingNumber1);//註解
billingNumber1 += "207";
System.out.println("billingNumber1_add_207-=>"+billingNumber1);//註解
userNum = getIntent().getStringExtra("PU").split(",");
for(int dig=0;dig<userNum.length;dig++) {
System.out.println("userNum["+dig+"]-=>" + userNum[dig]);//註解
}
sNum = getIdx(false);
System.out.println("sNum="+sNum);//註解
if (userNum[0].length() > 2) {
tof = userNum[0].substring(1, 2) + userNum[0].substring(2, 3);
} else {
tof = userNum[0];
tof = userNum[0].substring(1, 2) + userNum[0].substring(2, 3); //2位數以上只取到第二位
//取第二個字 //取第三個字 //123 --> 23
}
else if(userNum[0].length() == 1){ //只有1位數就補0前面 2 --> 02
tof = "0" +userNum[0];
}
else {
tof = userNum[0]; //2位數直接輸出
}
System.out.println("tof-=>"+tof);//註解
billingNumber = tof;
System.out.println("billingNumber-=>"+billingNumber);//註解
billingNumber += Commin.getTwoNumber(calendar.get(Calendar.YEAR) - 1911);
System.out.println("billingNumber_get_y-=>"+billingNumber);//註解
billingNumber += Commin.getOneNumber(calendar.get(Calendar.MONTH) + 1);
System.out.println("billingNumber_get_m-=>"+billingNumber);//註解
billingNumber += Commin.getOneNumber(calendar.get(Calendar.DATE));
System.out.println("billingNumber_get_d-=>"+billingNumber);//註解
sNum %= 1000;
if (sNum < 100) {
......@@ -1020,8 +1038,12 @@ public class Start extends AppCompatActivity implements LocationListener {
if (sNum < 10) {
billingNumber += "0";
}
System.out.println("billingNumber_add_0-=>"+billingNumber);//註解
billingNumber += String.valueOf(sNum);
System.out.println("billingNumber_valueOf-=>"+billingNumber);//註解
billingNumber += Commin.check(billingNumber1, billingNumber);
System.out.println("billingNumber_Commin.check_+00-=>"+billingNumber);//註解
t17.setText("單號:" + billingNumber);
}
......
......@@ -8,12 +8,14 @@ import android.content.pm.PackageManager;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
......@@ -23,23 +25,46 @@ import android.widget.Toast;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler;
import com.loopj.android.http.RequestHandle;
import com.loopj.android.http.RequestParams;
import com.loopj.android.http.SyncHttpClient;
import com.loopj.android.http.TextHttpResponseHandler;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.Dictionary;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Timer;
import java.util.TimerTask;
import java.lang.String;
import java.io.File;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import cz.msebera.android.httpclient.Header;
......@@ -70,6 +95,7 @@ public class opening extends AppCompatActivity {
private FtpConn mFtpClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -189,13 +215,14 @@ public class opening extends AppCompatActivity {
}
public void receiveData() {
RequestParams params = new RequestParams();
AsyncHttpClient client = new AsyncHttpClient();
String Url = "http://192.168.3.240/v1/";
final RequestParams params = new RequestParams();
final AsyncHttpClient client = new AsyncHttpClient();
final String Url = "http://192.168.3.240/v1/";
//final ProgressDialog mp = new ProgressDialog(opening.this);
final String[] isfinish = {""};
final int[] b = {0};
/*mp.setCancelable(false);
mp.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mp.setTitle("下載中...");
......@@ -210,7 +237,8 @@ public class opening extends AppCompatActivity {
client.get(Url + "vehicle/types", params, new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
isfinish[0] = "車種:接收失敗";
Toast.makeText(opening.this, isfinish[0], Toast.LENGTH_LONG).show();
}
@Override
......@@ -248,98 +276,151 @@ public class opening extends AppCompatActivity {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
isfinish[0] = "接收失敗";
Toast.makeText(opening.this, isfinish[0], Toast.LENGTH_LONG).show();
if (isfinish[0].equals("接收失敗")) {
//mp.dismiss();
}
Toast.makeText(opening.this, "路段" + isfinish[0], Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
isfinish[0] = "路段:接收成功";
//Toast.makeText(opening.this, isfinish[0],Toast.LENGTH_LONG).show();
final String[] road;
final int[] a = {0};
road = s.replace("\"", "").split(";");
a[0] = 0;
if (isfinish[0].equals("路段:接收成功")) {
new Thread(new Runnable() {
@Override
public void run() {
Toast.makeText(opening.this, isfinish[0], Toast.LENGTH_LONG).show();
// } //測試讀取到的資料
try {
FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory() + "/Park_JY/JiaYiCityRoad.txt");
try {
//System.out.println("say some thing");//回報測試
BufferedWriter w = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
s = s.replace("\"", "").replace(";", "\n");
w.write(s);
w.flush();
w.close();
//final Queue<RequestHandle> roadCount = new LinkedList<RequestHandle>(); //沒用到
client.get( "http://192.168.3.240:80/v1/grids" , params, new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
//System.out.println("is failure, try again.");//回報測試
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
//System.out.println("is success.");//回報測試
try {
for (int c = 0; c < road.length - 1; c++) {
if (!road[c].substring(road[c].indexOf("")).equals("\n")) {
w.write(road[c] + "\n");
for(int count=0;count<27;count++) {
String Grids = new JSONArray(s).getJSONObject(count).getString("Grid");
String Road = new JSONArray(s).getJSONObject(count).getString("Road"); //提取API的json格式資料
FileOutputStream eee = new FileOutputStream(Environment.getExternalStorageDirectory() + "/Park_JY/" + Road + ".temp");
OutputStreamWriter eeee = new OutputStreamWriter(eee); //存檔設定
String[] Rows_arr = Grids.replace("[", "").replace("]", "").replace("\"", "").split(",");
final int arr_size = (Rows_arr.length) / 14;
System.out.println(arr_size);
for (int num_in = 0; num_in < arr_size; num_in++) { //各別讀取資料
String Grid = new JSONArray(Grids).getJSONArray(num_in).toString();
String Rows = Grid.replace("[", "").replace("]", "").replace("\"", "").replace(",", " ");
System.out.println(count + "===" + Road + "===---->" + Rows); //註解
eeee.write(Rows + "\n");//資料寫入
}
//mp.setProgress(a[0]++);
Thread.sleep(50);
eeee.flush();
eeee.close(); //關閉資料寫入
// }
}
w.flush();
w.close();
} catch (IOException e) {
} catch(JSONException e) {
e.printStackTrace();
} catch (InterruptedException e) {
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
}
});
System.out.println("Thanks God");//回報測試
}
// catch (InterruptedException e) {
// e.printStackTrace();
// }
catch (FileNotFoundException e) {
e.printStackTrace();
}
//mp.dismiss();
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}).start();
catch (IOException e) {
e.printStackTrace();
}
}
});
//格號
final String[] roadCount = {"A117", "B240", "C265", "D004", "E089", "F010", "F020", "G042", "H076", "I072", "J042", "K006", "L007", "L329", "M055", "N058", "P075", "Q083", "R018", "S038", "S001", "T138", "U064", "V119", "W108", "X151", "Y015"};
for (int r = 0; r < roadCount.length; r++) {
final int rr = r;
/*
for (int r = 0; r < roadCount.length; r++) { //讀取roadCount陣列的資料量跑迴圈
final int rr = r; //精美的宣告
client.post(Url + "grids?road_id=" + roadCount[rr], params, new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
Toast.makeText(opening.this, roadCount[rr], Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
String[] roadNum, roadNum2;
roadNum = s.replace("\"", "").split(";");
roadNum = s.replace("\"", "").split(";"); //用replace組合文字再用split將;移開並分割文字
try {
FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory() + "/Park_JY/" + roadCount[rr] + ".temp");
try {
BufferedWriter w = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
BufferedWriter w = new BufferedWriter(new OutputStreamWriter(out, "UTF-8")); //用W寫入緩衝
try {
for (int c = 0; c < roadNum.length; c++) {
if (!roadNum[c].substring(roadNum[c].indexOf("")).equals("\n")) {
w.write(roadNum[c] + "\n");
try {
w.flush(); //強制輸出緩衝的資料
w.close();
isfinish[0] = "格號:接收成功" + roadCount[rr];
Toast.makeText(opening.this, isfinish[0], Toast.LENGTH_LONG).show();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
w.flush();
w.close();
} catch (IOException e) {
}
// w.flush(); //強制輸出緩衝的資料
// w.close();
// isfinish[0] = "格號:接收成功" + roadCount[rr];
} catch (IOException e) { //I/O錯誤
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
} catch (UnsupportedEncodingException e) { //編碼不支援
e.printStackTrace();
}
} catch (FileNotFoundException e) {
} catch (FileNotFoundException e) { //找無檔案例外
e.printStackTrace();
}
isfinish[0] = "格號:接收成功";
Toast.makeText(opening.this, isfinish[0], Toast.LENGTH_LONG).show();
//isfinish[0] = "格號:接收成功" + roadCount[rr];
//Toast.makeText(opening.this, isfinish[0], Toast.LENGTH_LONG).show();
}
});
}
*/ //修改前的樣式
//抓取GPS
client.get("http://192.168.3.240:1000/v1/insert/record", params, new TextHttpResponseHandler() {
......@@ -425,13 +506,15 @@ public class opening extends AppCompatActivity {
calendar = Calendar.getInstance();
//textView.setText(Commin.getDateAndTime(calendar));
if ((++nFtpTimes) > 60 * (pref_UploadT - 1))
try {
mFtpClient.disconnect();
nFtpTimes = 0;
} catch (IOException e) {
e.printStackTrace();
}
// if ((++nFtpTimes) > 60 * (pref_UploadT - 1))
// try {
// System.out.println("No~~~~");
// mFtpClient.disconnect();
// nFtpTimes = 0;
// } catch (IOException e) {
// System.out.println("G8~~~");
// e.printStackTrace();
// }
}
super.handleMessage(msg);
......
......@@ -35,6 +35,8 @@ public class start_btdevice extends Activity {
Button btn;
bt_socket bts = new bt_socket();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -55,9 +57,11 @@ public class start_btdevice extends Activity {
newDv.setOnItemClickListener(mDv);
filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
System.out.println("filter-=>"+filter); //測試回報
this.registerReceiver(receiver, filter);
filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
System.out.println("filter-=>"+filter); //測試回報
this.registerReceiver(receiver, filter);
adapter = BluetoothAdapter.getDefaultAdapter();
......
<resources>
<string name="title">路邊停車管理系統v1.0.6</string>
<string name="app_name">PARKv1.0.6</string>
<string name="title">路邊停車管理系統v1.1.0</string>
<string name="app_name">PARKv1.1.0</string>
<color name="white">#ffffff</color>
<color name="red">#FF0000</color>
<color name="green">#00ff00</color>
......
......@@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'com.android.tools.build:gradle:3.4.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
......
#Fri Apr 12 16:25:08 CST 2019
#Thu Jun 27 13:51:37 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment