initial commit

This commit is contained in:
NudeDude 2017-12-08 16:23:36 +01:00
parent 14781f2b53
commit 78582a9c76
5 changed files with 66 additions and 77 deletions

View File

@ -5,7 +5,7 @@
<GradleProjectSettings>
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="C:\Program Files\Android\Android Studio\gradle\gradle-4.1" />
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-4.3.1" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

View File

@ -43,7 +43,6 @@ public class MainActivity extends Activity
loginButton.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View arg0){login();}});
} else {
setContentView(R.layout.main_layout);
login();
}
}
@ -65,6 +64,7 @@ public class MainActivity extends Activity
}
private void login(){
setContentView(R.layout.main_layout);
list = (ListView) findViewById(R.id.list);
tabhost = (TabHost)findViewById(R.id.tabhost);

View File

@ -8,17 +8,22 @@ import android.database.sqlite.SQLiteDatabase;
import org.nuclearfog.twidda.DataBase.AppDatabase;
import org.nuclearfog.twidda.R;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import twitter4j.Status;
import twitter4j.User;
public class TweetDatabase
{
private AppDatabase dataHelper;
private List<String> user,tweet,noRT,noFav,noAns,date, pbLink;
private List<String> user,tweet,noRT,noFav,noAns, pbLink;
private List<Long> userId, tweetId;
private List<Date> newDate;
private List<Status> stats;
private Context c;
private Date now;
@ -30,11 +35,11 @@ public class TweetDatabase
*/
public TweetDatabase(List<Status> stats, Context c) {
this.stats=stats;
this.c=c;
dataHelper = AppDatabase.getInstance(c);
initArray();
fillArray();
store();
this.c=c;
}
/**
@ -42,20 +47,19 @@ public class TweetDatabase
* @param c MainActivity Context
*/
public TweetDatabase(Context c) {
this.c=c;
dataHelper = AppDatabase.getInstance(c);
initArray();
load();
this.c=c;
}
private void store() {
SQLiteDatabase data = dataHelper.getWritableDatabase();
ContentValues usr = new ContentValues();
ContentValues tl = new ContentValues();
Status stat;
User user;
for(int pos = 0;pos < stats.size(); pos++) {
for(int pos = stats.size()-1 ;pos >=0; pos--) {
// USER
usr.put("userID", getUserID(pos));
usr.put("username", getUsername(pos));
@ -63,67 +67,44 @@ public class TweetDatabase
// TWEET
tl.put("userID", getUserID(pos));
tl.put("tweetID", getTweetId(pos));
tl.put("time", getDate(pos));
tl.put("time", dateToLong(newDate.get(pos)));
tl.put("tweet", getTweet(pos));
tl.put("retweet", getRetweet(pos));
tl.put("favorite", getFavorite(pos));
}
data.insert("user",null, usr);
data.insert("tweet",null, tl);
}
private void load() {
SQLiteDatabase data = dataHelper.getReadableDatabase();//TODO
Cursor cursor = data.rawQuery("SELECT * FROM tweet INNER JOIN user ON user.userID = tweet.userID",null);
cursor.moveToFirst();
while( cursor.moveToNext() ) {
int index;
index = cursor.getColumnIndex("time"); // time
date.add( cursor.getString(index) );
index = cursor.getColumnIndex("tweet"); // tweet
tweet.add( cursor.getString(index) );
index = cursor.getColumnIndex("retweet"); // retweet
noRT.add( cursor.getString(index) );
index = cursor.getColumnIndex("favorite"); // favorite
noFav.add( cursor.getString(index) );
index = cursor.getColumnIndex("answers"); // answers
noAns.add( cursor.getString(index) );
index = cursor.getColumnIndex("answers"); // user
user.add(cursor.getString(index) );
index = cursor.getColumnIndex("pbLink"); // user
pbLink.add(cursor.getString(index) );
size++;
}
data.close();
}
/**
* Save Data
* @param usr Username
* @param tw Tweet
* @param rt Number Retweets
* @param fav Number Favorites
* @param time Tweet Time
* @param ans Number Answers
*/
public void setTweet(String usr,String tw,String rt,String fav,String time,String ans) {
user.add(usr);
tweet.add(tw);
noRT.add(rt);
noFav.add(fav);
noAns.add(ans);
date.add(time);
private void load() {
SQLiteDatabase data = dataHelper.getReadableDatabase();//TODO
int index;
String SQL_GET_HOME = c.getString(R.string.SQL_HOME_TL);
Cursor cursor = data.rawQuery(SQL_GET_HOME,null);
cursor.moveToFirst();
while( cursor.moveToNext()) {
index = cursor.getColumnIndex("time"); // time
newDate.add(longToDate(cursor.getLong(index)));
index = cursor.getColumnIndex("tweet"); // tweet
tweet.add( cursor.getString(index) );
index = cursor.getColumnIndex("retweet"); // retweet
noRT.add( cursor.getString(index) );
index = cursor.getColumnIndex("favorite"); // favorite
noFav.add( cursor.getString(index) );
index = cursor.getColumnIndex("answers"); // answers
noAns.add( cursor.getString(index) );
index = cursor.getColumnIndex("answers"); // user
user.add(cursor.getString(index) );
index = cursor.getColumnIndex("pbLink"); // user
pbLink.add(cursor.getString(index) );
index = cursor.getColumnIndex("userID"); // UserID
userId.add(cursor.getLong(index) );
index = cursor.getColumnIndex("tweetID"); // tweetID
tweetId.add(cursor.getLong(index) );
size++;
}
data.close();
}
public long getUserID(int pos){return userId.get(pos);}
@ -132,7 +113,7 @@ public class TweetDatabase
public String getTweet(int pos){return tweet.get(pos);}
public String getRetweet(int pos){return noRT.get(pos);}
public String getFavorite(int pos){return noFav.get(pos);}
public String getDate(int pos){return date.get(pos);}
public String getDate(int pos){return getTweetTime(newDate.get(pos));}
public String getAnswer(int pos){return noAns.get(pos);}
public String getPbImg (int pos){return pbLink.get(pos);}
@ -156,6 +137,13 @@ public class TweetDatabase
return "vor "+tweetSec+" sec";
}
private Date longToDate(long mills) {
return new Date(mills);
}
private long dateToLong(Date d) {
return d.getTime();
}
private void initArray() {
now = new Date();
user = new ArrayList<>();
@ -163,10 +151,10 @@ public class TweetDatabase
noRT = new ArrayList<>();
noFav = new ArrayList<>();
noAns = new ArrayList<>();
date = new ArrayList<>();
userId = new ArrayList<>();
pbLink = new ArrayList<>();
tweetId= new ArrayList<>();
newDate= new ArrayList<>();
}
private void fillArray() {
@ -178,7 +166,7 @@ public class TweetDatabase
noAns.add("test");
noRT.add( Integer.toString(stat.getRetweetCount()) );
noFav.add( Integer.toString(stat.getFavoriteCount()) );
date.add( getTweetTime(stat.getCreatedAt()) );
newDate.add( stat.getCreatedAt() );
String name = stat.getUser().getScreenName();
String twUsr = stat.getUser().getName();
user.add( name +" @"+twUsr );

View File

@ -69,6 +69,7 @@ public class TwitterEngine extends AsyncTask<Integer, Void, Void>
case(3): // Get TIMELINE
TweetDatabase tweetDeck = new TweetDatabase(context);
timelineAdapter = new TimelineAdapter(context,R.layout.tweet,tweetDeck);
break;
}

View File

@ -11,12 +11,11 @@
<string name="verifierbutton">Verifizieren</string>
<string name="register_link">Link zur Anmeldung</string>
<!--Datenbank Konstanten -->
<string name="user_table">
CREATE TABLE IF NOT EXISTS user (
userID INTEGER NOT NULL PRIMARY KEY,
userID INTEGER PRIMARY KEY,
scrname TEXT,
username TEXT,
pbLink TEXT );
@ -24,9 +23,9 @@
<string name="tweet_table">
CREATE TABLE IF NOT EXISTS tweet (
tweetID INTEGER NOT NULL PRIMARY KEY,
tweetID INTEGER PRIMARY KEY,
userID INTEGER,
time DATE,
time INTEGER,
tweet TEXT,
retweet INTEGER,
favorite INTEGER,
@ -34,15 +33,16 @@
FOREIGN KEY (userID) REFERENCES user_table(userID) );
</string>
<string name="SQL_HOME_TL">
"SELECT * FROM tweet INNER JOIN user ON user.userID = tweet.userID ORDER BY time ASC"
</string>
<string name="table_column">
{"tweetID","time","tweet","retweet","favorite","answers","userID"}
</string>
<string name="datei">timeline.db</string>
</resources>