mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-03 12:37:33 +01:00
initial commit
This commit is contained in:
parent
0ced88c424
commit
91db07b7c7
@ -0,0 +1,107 @@
|
||||
package org.nuclearfog.twidda.DataBase;
|
||||
import org.nuclearfog.twidda.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import android.content.Context;
|
||||
import android.database.sqlite.*;
|
||||
|
||||
|
||||
|
||||
import twitter4j.Status;
|
||||
|
||||
public class TweetDatabase extends SQLiteOpenHelper {
|
||||
|
||||
private Context context;
|
||||
private Date now;
|
||||
private int size;
|
||||
|
||||
private List<String> user,tweet,noRT,noFav,noAns,date;
|
||||
|
||||
|
||||
/**
|
||||
* Daten speichern & aufrufen
|
||||
* @param context MainActivity Context
|
||||
* @param stats Twitter Home
|
||||
*/
|
||||
public TweetDatabase(Context context, List<Status> stats) {
|
||||
super(context, "Tweetlist", null, 1);
|
||||
this.context=context;
|
||||
initArray();
|
||||
fillArray(stats);
|
||||
}
|
||||
|
||||
/**
|
||||
* Daten aufrufen
|
||||
* @param context MainActivity Context
|
||||
*/
|
||||
public TweetDatabase(Context context) {
|
||||
super(context, "Tweetlist", null, 1);
|
||||
this.context=context;
|
||||
initArray();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOpen(SQLiteDatabase db) {
|
||||
super.onOpen(db);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(SQLiteDatabase mData){
|
||||
String createQuery = context.getString(R.string.create_table);
|
||||
mData.execSQL(createQuery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpgrade(SQLiteDatabase mData, int oldDB, int newDB){
|
||||
mData.execSQL("DROP TABLE IF EXISTS home");
|
||||
mData.execSQL("VACUUM");
|
||||
|
||||
onCreate(mData);
|
||||
}
|
||||
|
||||
public String getUsername(int pos) {return user.get(pos);}
|
||||
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 getAnswer(int pos){return "";/* TODO */}
|
||||
public int getSize(){return size;}
|
||||
|
||||
private String getTweetTime(Date time) {
|
||||
int tweetHour = now.getHours() - time.getHours();
|
||||
int tweetMin = now.getMinutes() - time.getMinutes();
|
||||
int tweetSec = now.getSeconds() - time.getSeconds();
|
||||
if (tweetHour > 0)
|
||||
return "vor "+tweetHour+" h";
|
||||
else if ( tweetMin > 0)
|
||||
return "vor "+tweetMin+" min";
|
||||
else
|
||||
return "vor "+tweetSec+" sec";
|
||||
}
|
||||
|
||||
private void initArray() {
|
||||
now = new Date();
|
||||
user = new ArrayList<>();
|
||||
tweet = new ArrayList<>();
|
||||
noRT = new ArrayList<>();
|
||||
noFav = new ArrayList<>();
|
||||
noAns = new ArrayList<>();
|
||||
date = new ArrayList<>();
|
||||
}
|
||||
|
||||
private void fillArray(List<Status> stats) {
|
||||
size = stats.size();
|
||||
for(short pos = 0; pos < getSize(); pos++) {
|
||||
tweet.add( stats.get(pos).getText() );
|
||||
noRT.add( Integer.toString(stats.get(pos).getRetweetCount()) );
|
||||
noFav.add( Integer.toString(stats.get(pos).getFavoriteCount()) );
|
||||
date.add( getTweetTime(stats.get(pos).getCreatedAt()) );
|
||||
String name = stats.get(pos).getUser().getScreenName();
|
||||
String twUsr = stats.get(pos).getUser().getName();
|
||||
user.add( name +" @"+twUsr );
|
||||
}
|
||||
}
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package org.nuclearfog.twidda.engine;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.Status;
|
||||
|
||||
public class TweetDatabase {
|
||||
|
||||
private List<Status> stats;
|
||||
private Date now;
|
||||
|
||||
public TweetDatabase(List<Status> stats) {
|
||||
this.stats=stats;
|
||||
now = new Date();
|
||||
}
|
||||
|
||||
public String getUsername(int pos) {
|
||||
String twittername = stats.get(pos).getUser().getScreenName();
|
||||
String username = stats.get(pos).getUser().getName();
|
||||
return twittername +" @"+username;
|
||||
}
|
||||
public String getTweet(int pos){return stats.get(pos).getText();}
|
||||
public String getRetweet(int pos){return Integer.toString(stats.get(pos).getRetweetCount());}
|
||||
public String getFavorite(int pos){return Integer.toString(stats.get(pos).getFavoriteCount());}
|
||||
public String getDate(int pos){return getTweetTime(stats.get(pos).getCreatedAt());}
|
||||
public String getAnswer(int pos){return "";/* TODO */}
|
||||
public int getSize(){return stats.size();}
|
||||
|
||||
public void store(){}
|
||||
|
||||
private String getTweetTime(Date time) {
|
||||
int tweetHour = now.getHours() - time.getHours();
|
||||
int tweetMin = now.getMinutes() - time.getMinutes();
|
||||
int tweetSec = now.getSeconds() - time.getSeconds();
|
||||
if (tweetHour > 0)
|
||||
return "vor "+tweetHour+" h";
|
||||
else if ( tweetMin > 0)
|
||||
return "vor "+tweetMin+" min";
|
||||
else
|
||||
return "vor "+tweetSec+" sec";
|
||||
}
|
||||
}
|
@ -14,12 +14,11 @@ import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.nuclearfog.twidda.DataBase.TweetDatabase;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.engine.ViewAdapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.engine.ViewAdapter.TrendsAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class TwitterEngine extends AsyncTask<Integer, Void, Void>
|
||||
{
|
||||
private final String TWITTER_CONSUMER_KEY = "GrylGIgQK3cDjo9mSTBqF1vwf";
|
||||
@ -51,7 +50,7 @@ public class TwitterEngine extends AsyncTask<Integer, Void, Void>
|
||||
try {
|
||||
switch(args[0]) {
|
||||
case (0): // Home Timeline
|
||||
TweetDatabase mTweets = new TweetDatabase(twitter.getHomeTimeline());
|
||||
TweetDatabase mTweets = new TweetDatabase(context,twitter.getHomeTimeline());
|
||||
timelineAdapter = new TimelineAdapter(context,R.layout.tweet,mTweets);
|
||||
|
||||
break;
|
||||
|
@ -8,7 +8,7 @@ import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.engine.TweetDatabase;
|
||||
import org.nuclearfog.twidda.DataBase.TweetDatabase;
|
||||
|
||||
public class TimelineAdapter extends ArrayAdapter {
|
||||
private TweetDatabase mTweets;
|
||||
|
@ -39,9 +39,6 @@ public class TrendsAdapter extends ArrayAdapter {
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
View v = convertView;
|
||||
if(android.os.Debug.isDebuggerConnected())
|
||||
android.os.Debug.waitForDebugger();
|
||||
|
||||
if(v == null) {
|
||||
LayoutInflater inf=(LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
v = inf.inflate(R.layout.trend, null);
|
||||
|
@ -10,4 +10,23 @@
|
||||
<string name="pin">PIN</string>
|
||||
<string name="verifierbutton">Verifizieren</string>
|
||||
<string name="register_link">Link zur Anmeldung</string>
|
||||
|
||||
|
||||
<!--Datenbank Konstanten -->
|
||||
<string name="create_table">
|
||||
CREATE TABLE home (
|
||||
tweetID INTEGER NOT NULL PRIMARY KEY,
|
||||
user TEXT,
|
||||
time TEXT,
|
||||
tweet TEXT,
|
||||
retweet INTEGER,
|
||||
favorite INTEGER,
|
||||
answers INTEGER);
|
||||
</string>
|
||||
<string name="datei">timeline.db</string>
|
||||
|
||||
|
||||
|
||||
</resources>
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user