给老婆写的的带返回的2048(数据库存储),虽然很烂。但是还是贴出来了

  1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2     xmlns:tools="http://schemas.android.com/tools"
  3     android:layout_width="match_parent"
  4     android:layout_height="match_parent"
  5     android:paddingBottom="@dimen/activity_vertical_margin"
  6     android:paddingLeft="@dimen/activity_horizontal_margin"
  7     android:paddingRight="@dimen/activity_horizontal_margin"
  8     android:paddingTop="@dimen/activity_vertical_margin"
  9     tools:context=".MyActivity">
 10
 11     <LinearLayout
 12         android:layout_width="match_parent"
 13         android:layout_height="match_parent"
 14         android:orientation="vertical">
 15
 16         <LinearLayout
 17             android:layout_width="match_parent"
 18             android:layout_height="match_parent"
 19             android:layout_weight="9"
 20             android:orientation="vertical">
 21
 22             <TextView
 23                 android:layout_width="match_parent"
 24                 android:layout_height="wrap_content"
 25                 android:gravity="center"
 26                 android:text="亲爱的,你最棒!"
 27                 android:textSize="30dp" />
 28
 29             <LinearLayout
 30                 android:layout_width="match_parent"
 31                 android:layout_height="wrap_content"
 32                 android:gravity="center">
 33
 34                 <TextView
 35                     android:layout_width="wrap_content"
 36                     android:layout_height="wrap_content"
 37                     android:text="分数:"
 38                     android:textSize="30dp" />
 39
 40                 <TextView
 41                     android:id="@+id/score"
 42                     android:layout_width="wrap_content"
 43                     android:layout_height="wrap_content"
 44                     android:textSize="30dp"
 45                     android:text="0"/>
 46             </LinearLayout>
 47
 48             <TextView
 49                 android:layout_width="match_parent"
 50                 android:layout_height="wrap_content"
 51                 android:gravity="center"
 52                 android:text="亲爱的,别忘了分享哦"
 53                 android:textSize="30dp" />
 54
 55             <TextView
 56                 android:layout_width="match_parent"
 57                 android:layout_height="wrap_content"
 58                 android:gravity="center"
 59                 android:text="^_~"
 60                 android:textSize="30dp" />
 61         </LinearLayout>
 62
 63         <LinearLayout
 64             android:id="@+id/gameView"
 65             android:layout_width="match_parent"
 66             android:layout_height="match_parent"
 67             android:layout_weight="5"
 68             android:background="#ffbbada0"
 69             android:orientation="vertical"
 70             android:padding="5dp">
 71
 72             <LinearLayout
 73                 android:layout_width="match_parent"
 74                 android:layout_height="match_parent"
 75                 android:layout_weight="1">
 76
 77                 <TextView
 78                     android:id="@+id/t0"
 79                     android:layout_width="match_parent"
 80                     android:layout_height="match_parent"
 81                     android:layout_margin="5dp"
 82                     android:layout_weight="1"
 83                     android:background="#ffcdc1b4"
 84                     android:gravity="center"
 85                     android:text="1"
 86                     android:textSize="30dp"/>
 87
 88                 <TextView
 89                     android:id="@+id/t1"
 90                     android:layout_width="match_parent"
 91                     android:layout_height="match_parent"
 92                     android:layout_margin="5dp"
 93                     android:layout_weight="1"
 94                     android:gravity="center" />
 95
 96                 <TextView
 97                     android:id="@+id/t2"
 98                     android:layout_width="match_parent"
 99                     android:layout_height="match_parent"
100                     android:layout_margin="5dp"
101                     android:layout_weight="1"
102                     android:gravity="center" />
103
104                 <TextView
105                     android:id="@+id/t3"
106                     android:layout_width="match_parent"
107                     android:layout_height="match_parent"
108                     android:layout_margin="5dp"
109                     android:layout_weight="1"
110                     android:gravity="center" />
111             </LinearLayout>
112
113             <LinearLayout
114                 android:layout_width="match_parent"
115                 android:layout_height="match_parent"
116                 android:layout_weight="1">
117
118                 <TextView
119                     android:id="@+id/t4"
120                     android:layout_width="match_parent"
121                     android:layout_height="match_parent"
122                     android:layout_margin="5dp"
123                     android:layout_weight="1"
124                     android:gravity="center" />
125
126                 <TextView
127                     android:id="@+id/t5"
128                     android:layout_width="match_parent"
129                     android:layout_height="match_parent"
130                     android:layout_margin="5dp"
131                     android:layout_weight="1"
132                     android:gravity="center" />
133
134                 <TextView
135                     android:id="@+id/t6"
136                     android:layout_width="match_parent"
137                     android:layout_height="match_parent"
138                     android:layout_margin="5dp"
139                     android:layout_weight="1"
140                     android:gravity="center" />
141
142                 <TextView
143                     android:id="@+id/t7"
144                     android:layout_width="match_parent"
145                     android:layout_height="match_parent"
146                     android:layout_margin="5dp"
147                     android:layout_weight="1"
148                     android:gravity="center" />
149             </LinearLayout>
150
151             <LinearLayout
152                 android:layout_width="match_parent"
153                 android:layout_height="match_parent"
154                 android:layout_weight="1">
155
156                 <TextView
157                     android:id="@+id/t8"
158                     android:layout_width="match_parent"
159                     android:layout_height="match_parent"
160                     android:layout_margin="5dp"
161                     android:layout_weight="1"
162                     android:gravity="center" />
163
164                 <TextView
165                     android:id="@+id/t9"
166                     android:layout_width="match_parent"
167                     android:layout_height="match_parent"
168                     android:layout_margin="5dp"
169                     android:layout_weight="1"
170                     android:gravity="center" />
171
172                 <TextView
173                     android:id="@+id/t10"
174                     android:layout_width="match_parent"
175                     android:layout_height="match_parent"
176                     android:layout_margin="5dp"
177                     android:layout_weight="1"
178                     android:gravity="center" />
179
180                 <TextView
181                     android:id="@+id/t11"
182                     android:layout_width="match_parent"
183                     android:layout_height="match_parent"
184                     android:layout_margin="5dp"
185                     android:layout_weight="1"
186                     android:gravity="center" />
187             </LinearLayout>
188
189             <LinearLayout
190                 android:layout_width="match_parent"
191                 android:layout_height="match_parent"
192                 android:layout_weight="1">
193
194                 <TextView
195                     android:id="@+id/t12"
196                     android:layout_width="match_parent"
197                     android:layout_height="match_parent"
198                     android:layout_margin="5dp"
199                     android:layout_weight="1"
200                     android:gravity="center" />
201
202                 <TextView
203                     android:id="@+id/t13"
204                     android:layout_width="match_parent"
205                     android:layout_height="match_parent"
206                     android:layout_margin="5dp"
207                     android:layout_weight="1"
208                     android:gravity="center" />
209
210                 <TextView
211                     android:id="@+id/t14"
212                     android:layout_width="match_parent"
213                     android:layout_height="match_parent"
214                     android:layout_margin="5dp"
215                     android:layout_weight="1"
216                     android:gravity="center" />
217
218                 <TextView
219                     android:id="@+id/t15"
220                     android:layout_width="match_parent"
221                     android:layout_height="match_parent"
222                     android:layout_margin="5dp"
223                     android:layout_weight="1"
224                     android:gravity="center" />
225             </LinearLayout>
226         </LinearLayout>
227     </LinearLayout>
228
229 </RelativeLayout>

页面布局

  1 import android.content.Context;
  2 import android.database.Cursor;
  3 import android.database.sqlite.SQLiteDatabase;
  4 import android.graphics.Color;
  5 import android.support.v7.app.ActionBarActivity;
  6 import android.os.Bundle;
  7 import android.util.Log;
  8 import android.view.GestureDetector;
  9 import android.view.Menu;
 10 import android.view.MenuItem;
 11 import android.view.MotionEvent;
 12 import android.view.View;
 13 import android.widget.LinearLayout;
 14 import android.widget.TextView;
 15
 16 import java.util.Random;
 17
 18
 19 public class MyActivity extends ActionBarActivity implements GestureDetector.OnGestureListener, View.OnTouchListener {
 20
 21     private TextView[] allTextView;
 22     private int[] numData;
 23     private String[] colorData;
 24     private TextView score;
 25     SQLiteDatabase db;
 26     int scoreNum = 0;
 27     boolean isDoAdd;
 28
 29     private GestureDetector mGestureDetector;
 30
 31     @Override
 32     protected void onCreate(Bundle savedInstanceState) {
 33         super.onCreate(savedInstanceState);
 34         setContentView(R.layout.activity_my);
 35         init();
 36         mGestureDetector = new GestureDetector(this, this);
 37         LinearLayout gameView = (LinearLayout) findViewById(R.id.gameView);
 38         score = (TextView) findViewById(R.id.score);
 39         score.setOnTouchListener(new View.OnTouchListener() {
 40             @Override
 41             public boolean onTouch(View view, MotionEvent motionEvent) {
 42                 backStateFromDb();
 43                 return false;
 44             }
 45         });
 46         gameView.setOnTouchListener(this);
 47         gameView.setClickable(true);
 48     }
 49
 50     @Override
 51     protected void onPause() {
 52         saveStateToDb();
 53         db.close();
 54         super.onPause();
 55     }
 56
 57     @Override
 58     protected void onResume() {
 59         super.onResume();
 60         backStateFromDb();
 61     }
 62
 63
 64     private void gameStart() {
 65         this.scoreNum = 0;
 66         this.setScore(0);
 67         for (int i = 0; i < 16; i++) {
 68             setNum(i, 1);
 69         }
 70         addOneNum();
 71         addOneNum();
 72     }
 73
 74
 75     @Override
 76     public boolean onDown(MotionEvent motionEvent) {
 77         return false;
 78     }
 79
 80     @Override
 81     public void onShowPress(MotionEvent motionEvent) {
 82
 83     }
 84
 85
 86     @Override
 87     public boolean onSingleTapUp(MotionEvent motionEvent) {
 88         return false;
 89     }
 90
 91     @Override
 92     public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
 93         return false;
 94     }
 95
 96     @Override
 97     public void onLongPress(MotionEvent motionEvent) {
 98
 99     }
100
101     @Override
102     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
103         isDoAdd = false;
104         saveStateToDb();
105         if (Math.abs(velocityX) > Math.abs(velocityY)) {
106             if (velocityX > 0) {
107                 moveRight();
108             } else {
109                 moveLeft();
110             }
111         } else {
112             if (velocityY > 0) {
113                 moveDown();
114             } else {
115                 moveTop();
116             }
117         }
118         if (isDoAdd) {
119             addOneNum();
120         } else {
121             deleteOneDataFromDb();
122         }
123         return false;
124     }
125
126
127     private void addOneNum() {
128         int[] nullCell = new int[16];
129         int count = 0;
130         for (int i = 0; i < 16; i++) {
131             if (numData[i] == 1) {
132                 nullCell[count] = i;
133                 count++;
134             }
135         }
136         if (count == 0) {
137             return;
138         }
139         Random r = new Random();
140         int index = r.nextInt(count);
141         int data = r.nextInt(10);
142         data = data == 0 ? 1 : 0;
143         setNum(nullCell[index], (data + 1) * 2);
144     }
145
146     private void moveDown() {
147         //Toast.makeText(getApplicationContext(),"下",Toast.LENGTH_SHORT).show();
148         for (int y = 0; y < 4; y++) {
149             for (int x = 3; x > 0; x--) {
150                 int p = (x * 4) + y;
151                 for (int z = 1; z < 4; z++) {
152                     int q = (x - z) * 4 + y;
153                     if (q < y) {
154                         break;
155                     }
156                     if (numData[q] == 1) {
157                         continue;
158                     } else if (numData[p] == 1 && numData[q] == 1) {
159                         continue;
160                     } else if (numData[p] == 1 && numData[q] != 1) {
161                         setNum(p, numData[q]);
162                         setNum(q, 1);
163                         continue;
164                     } else if (numData[p] != numData[q]) {
165                         break;
166                     } else {
167                         setNum(p, numData[p] * 2);
168                         setScore(numData[p] * 2);
169                         setNum(q, 1);
170                         break;
171                     }
172                 }
173             }
174         }
175     }
176
177     private void moveTop() {
178         //Toast.makeText(getApplicationContext(),"上",Toast.LENGTH_SHORT).show();
179         for (int y = 0; y < 4; y++) {
180             for (int x = 0; x < 3; x++) {
181                 int p = (x * 4) + y;
182                 for (int z = 1; z < 4; z++) {
183                     int q = (x + z) * 4 + y;
184                     if (q > 12 + y) {
185                         break;
186                     }
187                     if (numData[q] == 1) {
188                         continue;
189                     } else if (numData[p] == 1 && numData[q] == 1) {
190                         continue;
191                     } else if (numData[p] == 1 && numData[q] != 1) {
192                         setNum(p, numData[q]);
193                         setNum(q, 1);
194                         continue;
195                     } else if (numData[p] != numData[q]) {
196                         break;
197                     } else {
198                         setNum(p, numData[p] * 2);
199                         setScore(numData[p] * 2);
200                         setNum(q, 1);
201                         break;
202                     }
203                 }
204             }
205         }
206     }
207
208     private void moveLeft() {
209         // Toast.makeText(getApplicationContext(),"左",Toast.LENGTH_SHORT).show();
210         for (int x = 0; x < 4; x++) {
211             for (int y = 0; y < 3; y++) {
212                 int p = (x * 4) + y;
213                 for (int z = 1; z < 4; z++) {
214                     int q = p + z;
215                     if (q > (x + 1) * 4 - 1) {
216                         break;
217                     }
218                     if (numData[q] == 1) {
219                         continue;
220                     } else if (numData[p] == 1 && numData[q] == 1) {
221                         continue;
222                     } else if (numData[p] == 1 && numData[q] != 1) {
223                         setNum(p, numData[q]);
224                         setNum(q, 1);
225                         continue;
226                     } else if (numData[p] != numData[q]) {
227                         break;
228                     } else {
229                         setNum(p, numData[p] * 2);
230                         setScore(numData[p] * 2);
231                         setNum(q, 1);
232                         break;
233                     }
234                 }
235             }
236         }
237     }
238
239     private void moveRight() {
240         //Toast.makeText(getApplicationContext(),"右",Toast.LENGTH_SHORT).show();
241         for (int x = 0; x < 4; x++) {
242             for (int y = 3; y > 0; y--) {
243                 int p = (x * 4) + y;
244                 for (int z = 1; z < 4; z++) {
245                     int q = p - z;
246                     if (q < x * 4) {
247                         break;
248                     }
249                     if (numData[q] == 1) {
250                         continue;
251                     } else if (numData[p] == 1 && numData[q] == 1) {
252                         continue;
253                     } else if (numData[p] == 1 && numData[q] != 1) {
254                         setNum(p, numData[q]);
255                         setNum(q, 1);
256                         continue;
257                     } else if (numData[p] != numData[q]) {
258                         break;
259                     } else {
260                         setNum(p, numData[p] * 2);
261                         setScore(numData[p] * 2);
262                         setNum(q, 1);
263                         break;
264                     }
265                 }
266             }
267         }
268     }
269
270
271     private void setScore(int s) {
272         scoreNum += s;
273         score.setText(scoreNum + "");
274     }
275
276     private void init() {
277         dbCreate();
278         findAllTextView();
279         setColorData();
280         numData = new int[16];
281     }
282
283     private void dbCreate() {
284         db = openOrCreateDatabase("My2048Database.db", Context.MODE_PRIVATE, null);
285         db.execSQL("create table if not exists GameRecord(" +
286                 "Id    INTEGER PRIMARY KEY,\n" +
287                 "    Game  VARCHAR NOT NULL,\n" +
288                 "    Score INTEGER NOT NULL )");
289     }
290
291     private void saveStateToDb() {
292         String gameNumState = "";
293         for (int i = 0; i < 16; i++) {
294             gameNumState += (numData[i] + ",");
295         }
296         db.execSQL("insert into GameRecord(Game,Score) values('" +
297                 gameNumState + "','" +
298                 scoreNum + "')");
299         Log.d("DB:", "Save");
300     }
301
302     private void backStateFromDb() {
303         Cursor c = db.rawQuery("select * from GameRecord order by Id desc limit 1", null);
304         if (!c.moveToNext()) {
305             gameStart();
306             return;
307         }
308         int id = c.getInt(c.getColumnIndex("Id"));
309         String gameStateNnm = c.getString(c.getColumnIndex("Game"));
310         int score = c.getInt(c.getColumnIndex("Score"));
311         this.scoreNum = 0;
312         this.setScore(score);
313         Log.d("DB:", "Score-" + score);
314         Log.d("DB:", "gameDb-" + gameStateNnm);
315         String[] numString = gameStateNnm.split(",");
316         for (int i = 0; i < 16; i++) {
317             this.setNum(i, Integer.parseInt(numString[i]));
318         }
319         Log.d("DB:", "dbId-" + id + "");
320         db.delete("GameRecord", "Id = ?", new String[]{id + ""});
321         Log.d("DB:", "Back");
322     }
323
324     private void deleteOneDataFromDb() {
325         Cursor c = db.rawQuery("select * from GameRecord order by Id desc limit 1", null);
326         if (!c.moveToNext()) {
327             return;
328         }
329         int id = c.getInt(c.getColumnIndex("Id"));
330         db.delete("GameRecord", "Id = ?", new String[]{id + ""});
331         Log.d("DB:", "DeleteOneNoUse");
332     }
333
334     private void setNum(int index, int num) {
335         numData[index] = num;
336         int colorIndex = (int) Math.log((double) num);
337         if (colorIndex > 15) {
338             colorIndex = 15;
339         }
340         if (num == 1) {
341             allTextView[index].setText("");
342             allTextView[index].setBackgroundColor(Color.parseColor(colorData[colorIndex]));
343         } else {
344             allTextView[index].setText("" + num);
345             allTextView[index].setBackgroundColor(Color.parseColor(colorData[colorIndex]));
346             if (num > 512) {
347                 allTextView[index].setTextSize(20);
348             } else {
349                 allTextView[index].setTextSize(30);
350             }
351         }
352         isDoAdd = true;
353     }
354
355     private void setColorData() {
356         colorData = new String[16];
357         colorData[0] = "#cdc1b4";
358         colorData[1] = "#eee4da";
359         colorData[2] = "#ede0c8";
360         colorData[3] = "#ece0c8";
361         colorData[4] = "#ecd0c8";
362         colorData[5] = "#ebe0c8";
363         colorData[6] = "#ede0c0";
364         colorData[7] = "#ede0c8";
365         colorData[8] = "#aae0c8";
366         colorData[9] = "#edaac8";
367         colorData[10] = "#ede0aa";
368         colorData[11] = "#99e0c8";
369         colorData[12] = "#88e0c8";
370         colorData[13] = "#77e0c8";
371         colorData[14] = "#66e0c8";
372         colorData[15] = "#55e0c8";
373     }
374
375     private void findAllTextView() {
376         allTextView = new TextView[16];
377         allTextView[0] = (TextView) findViewById(R.id.t0);
378         allTextView[1] = (TextView) findViewById(R.id.t1);
379         allTextView[2] = (TextView) findViewById(R.id.t2);
380         allTextView[3] = (TextView) findViewById(R.id.t3);
381         allTextView[4] = (TextView) findViewById(R.id.t4);
382         allTextView[5] = (TextView) findViewById(R.id.t5);
383         allTextView[6] = (TextView) findViewById(R.id.t6);
384         allTextView[7] = (TextView) findViewById(R.id.t7);
385         allTextView[8] = (TextView) findViewById(R.id.t8);
386         allTextView[9] = (TextView) findViewById(R.id.t9);
387         allTextView[10] = (TextView) findViewById(R.id.t10);
388         allTextView[11] = (TextView) findViewById(R.id.t11);
389         allTextView[12] = (TextView) findViewById(R.id.t12);
390         allTextView[13] = (TextView) findViewById(R.id.t13);
391         allTextView[14] = (TextView) findViewById(R.id.t14);
392         allTextView[15] = (TextView) findViewById(R.id.t15);
393     }
394
395
396     @Override
397     public boolean onCreateOptionsMenu(Menu menu) {
398         // Inflate the menu; this adds items to the action bar if it is present.
399         getMenuInflater().inflate(R.menu.my, menu);
400         return true;
401     }
402
403     @Override
404     public boolean onOptionsItemSelected(MenuItem item) {
405         // Handle action bar item clicks here. The action bar will
406         // automatically handle clicks on the Home/Up button, so long
407         // as you specify a parent activity in AndroidManifest.xml.
408         int id = item.getItemId();
409         if (id == R.id.action_settings) {
410             try {
411                 db.execSQL("delete from GameRecord");
412             } catch (Exception e) {
413                 Log.d("DB:", e.getMessage());
414             }
415
416             Log.d("DB:", "Restart");
417             gameStart();
418             return true;
419         }
420         return super.onOptionsItemSelected(item);
421     }
422
423     @Override
424     public boolean onTouch(View view, MotionEvent motionEvent) {
425
426         return mGestureDetector.onTouchEvent(motionEvent);
427     }
428 }

java代码

忘了截图,喜欢的自己运行一下

转载于:https://www.cnblogs.com/wanghongxu/p/4089510.html

给老婆写的带返回的2048(数据库存储)相关推荐

  1. c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题

    c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...

  2. Java手写线程池(不带返回值、带返回值)

    文章目录 不带返回值 带返回值 不带返回值 public class MyThreadPool {private static final int DEFAULT_THREAD_NUM = 10;pr ...

  3. 给老婆写个Python教程

    作者 | 水风 来源 | 水风知乎问答 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 什么是code code就是 ...

  4. java无参_Java中无参无返回和无参带返回的类型方法

    在前面的文章中,我们学习了java中方法的定义.分类及调用的相关知识.知道了java中的方法其实可以叫做函数,目的是实现某些我们想要的功能,也知道了java中方法的分类共有四种:无参无返回.无参带返回 ...

  5. 改变iOS系统自带返回按钮事件

    最近要用到  用 系统自带的带箭头的返回按钮 返回到指定的ViewController 或者返回到RootViewController, 自定义NaviBarItem也可以 但是想用系统的箭头,就偶然 ...

  6. 纯CSS实现带返回顶部右侧悬浮菜单

    这是我做个人网页的时候加上的带返回顶部右侧悬浮菜单效果,如下图, 使用工具是Hbuilder. 代码如下: <!DOCTYPE html> <html><head> ...

  7. Java中带返回值的方法的定义与调用

    带返回值的方法定义: public static 数据类型 方法名(参数){return 数据;} 与前文中带返回值的方法定义不同的是,void变成了数据类型,对应return后紧跟的数据.这里顺便说 ...

  8. Java中带返回值的方法

    带返回值方法的定义: public static 数据类型 方法名(参数){ return 数据: } 例如: public static boolean jiou(int number){ retu ...

  9. arm64汇编b带条件跳转指令和bl跳转带返回ret指令

    文章目录 ret返回指令 B 跳转指令 BL 带返回的跳转指令 B指令可以接上后缀,用来和cmp比较后待条件的跳转 ret返回指令 cpu遇到ret之后,会把lr赋值给pc,这样cpu执行了pc里的地 ...

最新文章

  1. Confluence 6 导入 SSL 证书和问题解决
  2. 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
  3. 如何自定义SAP Spartacus店铺的界面颜色风格
  4. POE交换机产品如何设计防雷保护?
  5. 10-Linux与windows文件互传-pscp坑---- 'pscp' 不是内部或外部命令,也不是可运行的程序或批处理文件...
  6. 涨价妥妥的!一加7 Pro欧洲价格曝光:顶配或超6000
  7. 20190826:(leetcode习题)反转链表
  8. 小鹤双拼入门和小鹤音形的搜狗输入法配置方法
  9. pentaho安装配置
  10. 贴心 | GXF Fix 修复 / 优化基因结构注释信息文件 - GTF/GFF3
  11. 推荐3个干净、资源多的看剧网站给大家
  12. 紫光展锐虎贲T618八核(Android11.0)4G核心板
  13. 计算机网络知识点及例题总结(五)数据链路层与局域网
  14. 微PEU盘如何还原成普通U盘
  15. 注册苹果开发者,登录后提示Need assistance with accessing your developer account?解决过程
  16. android 解析json 日期格式,如何将JSON格式的日期字符串解析为日期格式
  17. GDOI2018 涛涛摘苹果 [CDQ分治]
  18. LightGBM 原理、代码最全解读!
  19. 餐饮店选址要考虑竞品分布,用户画像等
  20. 腾讯联合国家天文台启动探星计划

热门文章

  1. 什么是网络推广浅析网站在优化时该如何让蜘蛛自觉爬行网站?
  2. 网站外链如何发布才能更快的得到高排名呢?
  3. seo网站营销与内容营销不可分割
  4. python代码函数字符查询宝典书籍_Django基础五之django模型层(一)单表操作
  5. (转载)linux如何设置为低内核启动(降核)
  6. mac 配置maven相关
  7. 端口扫描系统实践心得
  8. 97.5%准确率的深度学习中文分词(字嵌入+Bi-LSTM+CRF)
  9. AJAX(二)jquery ajax
  10. [JZOJ6075]【GDOI2019模拟2019.3.20】桥【DP】【线段树】