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
97a0e3864c
commit
a40d769128
@ -17,16 +17,19 @@ public class AppDatabase extends SQLiteOpenHelper
|
||||
|
||||
@Override
|
||||
public void onCreate(SQLiteDatabase db) {
|
||||
String uQuery = c.getString(R.string.user_table);
|
||||
String tQuery = c.getString(R.string.tweet_table);
|
||||
String uQuery = c.getString(R.string.user_table);
|
||||
String tQuery = c.getString(R.string.tweet_table);
|
||||
String trQuery = c.getString(R.string.trend_table);
|
||||
db.execSQL(uQuery);
|
||||
db.execSQL(tQuery);
|
||||
db.execSQL(trQuery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
|
||||
db.execSQL("DROP TABLE IF EXISTS " + "user_table");
|
||||
db.execSQL("DROP TABLE IF EXISTS " + "tweet_table");
|
||||
db.execSQL("DROP TABLE IF EXISTS " + "user");
|
||||
db.execSQL("DROP TABLE IF EXISTS " + "tweet");
|
||||
db.execSQL("DROP TABLE IF EXISTS " + "trend");
|
||||
onCreate(db);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,96 @@
|
||||
package org.nuclearfog.twidda.engine;
|
||||
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
|
||||
import org.nuclearfog.twidda.DataBase.AppDatabase;
|
||||
import org.nuclearfog.twidda.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.Trend;
|
||||
import twitter4j.Trends;
|
||||
|
||||
public class TrendDatabase {
|
||||
|
||||
private AppDatabase dataHelper;
|
||||
private List<String> trendName;
|
||||
private List<String> trendLink;
|
||||
private List<Integer> trendpos;
|
||||
private Trends trends;
|
||||
private int size = 0;
|
||||
private Context c;
|
||||
|
||||
public TrendDatabase(Trends trends, Context c) {
|
||||
this.trends = trends;
|
||||
this.c=c;
|
||||
init();
|
||||
setup();
|
||||
store();
|
||||
}
|
||||
|
||||
public TrendDatabase(Context c){
|
||||
this.c = c;
|
||||
init();
|
||||
load();
|
||||
}
|
||||
|
||||
public String getTrendname(int pos){ return trendName.get(pos); }
|
||||
public String getTrendlink(int pos){return trendLink.get(pos);}
|
||||
public int getTrendpos(int pos){ return trendpos.get(pos); }
|
||||
public int getSize(){
|
||||
if(trendName != null)
|
||||
return trendName.size();
|
||||
else
|
||||
return size;
|
||||
}
|
||||
|
||||
private void load(){
|
||||
SQLiteDatabase data = dataHelper.getReadableDatabase();
|
||||
String SQL_TREND = c.getString(R.string.SQL_TRENS);
|
||||
Cursor cursor = data.rawQuery(SQL_TREND,null);
|
||||
int index;
|
||||
if(cursor.moveToFirst()) {
|
||||
do {
|
||||
index = cursor.getColumnIndex("trendpos"); // trendpos
|
||||
trendpos.add(cursor.getInt(index));
|
||||
index = cursor.getColumnIndex("trendname"); // trendname
|
||||
trendName.add(cursor.getString(index));
|
||||
index = cursor.getColumnIndex("trendlink"); // trendlink
|
||||
trendLink.add(cursor.getString(index));
|
||||
} while(cursor.moveToNext());
|
||||
}
|
||||
cursor.close();
|
||||
data.close();
|
||||
}
|
||||
|
||||
private void store(){
|
||||
SQLiteDatabase data = dataHelper.getWritableDatabase();
|
||||
ContentValues trend = new ContentValues();
|
||||
for(int pos = 0; pos < getSize(); pos++) {
|
||||
trend.put("trendpos", getTrendpos(pos));
|
||||
trend.put("trendname", getTrendname(pos));
|
||||
trend.put("trendlink", getTrendlink(pos));
|
||||
data.insert("trend",null, trend);
|
||||
}
|
||||
}
|
||||
|
||||
private void init(){
|
||||
dataHelper = AppDatabase.getInstance(c);
|
||||
trendpos = new ArrayList<>();
|
||||
trendName = new ArrayList<>();
|
||||
trendLink = new ArrayList<>();
|
||||
}
|
||||
|
||||
private void setup() {
|
||||
for(Trend trend : trends.getTrends()) {
|
||||
trendName.add(trend.getName());
|
||||
trendLink.add(trend.getURL());
|
||||
trendpos.add(++size);
|
||||
}
|
||||
}
|
||||
}
|
@ -58,8 +58,8 @@ public class TweetDatabase
|
||||
ContentValues tl = new ContentValues();
|
||||
Status stat;
|
||||
User user;
|
||||
for(int pos = stats.size()-1 ;pos >=0; pos--) {
|
||||
// USER
|
||||
for(int pos = 0; pos < getSize(); pos++) {
|
||||
// USER TODO UNIQUE
|
||||
usr.put("userID", getUserID(pos));
|
||||
usr.put("username", getUsername(pos));
|
||||
usr.put("pbLink", getPbImg(pos));
|
||||
@ -77,32 +77,35 @@ public class TweetDatabase
|
||||
}
|
||||
|
||||
private void load() {
|
||||
SQLiteDatabase data = dataHelper.getReadableDatabase();//TODO
|
||||
SQLiteDatabase data = dataHelper.getReadableDatabase();
|
||||
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("username"); // user
|
||||
user.add(cursor.getString(index) );
|
||||
index = cursor.getColumnIndex("pbLink"); // image
|
||||
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++;
|
||||
if(cursor.moveToFirst()) {
|
||||
do {
|
||||
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("username"); // user
|
||||
user.add(cursor.getString(index) );
|
||||
index = cursor.getColumnIndex("pbLink"); // image
|
||||
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++;
|
||||
} while(cursor.moveToNext());
|
||||
}
|
||||
cursor.close();
|
||||
data.close();
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,6 @@ import android.widget.Toast;
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import twitter4j.Trends;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.TwitterFactory;
|
||||
@ -28,8 +27,8 @@ public class TwitterEngine extends AsyncTask<Integer, Void, Void>
|
||||
private static Twitter twitter;
|
||||
private Context context;
|
||||
private ListView list;
|
||||
private static TimelineAdapter timelineAdapter;
|
||||
private static TrendsAdapter trendsAdapter;
|
||||
private TimelineAdapter timelineAdapter;
|
||||
private TrendsAdapter trendsAdapter;
|
||||
private SwipeRefreshLayout refresh;
|
||||
|
||||
public TwitterEngine(Context context, ListView list) {
|
||||
@ -59,8 +58,8 @@ public class TwitterEngine extends AsyncTask<Integer, Void, Void>
|
||||
|
||||
break;
|
||||
case(1): // Trends
|
||||
Trends trend = twitter.getPlaceTrends(1);
|
||||
trendsAdapter = new TrendsAdapter(context,R.layout.tweet,trend.getTrends());
|
||||
TrendDatabase trend = new TrendDatabase(twitter.getPlaceTrends(23424829),context); //Germany by default
|
||||
trendsAdapter = new TrendsAdapter(context,R.layout.tweet,trend);
|
||||
|
||||
break;
|
||||
case(2): // Mentions
|
||||
@ -70,7 +69,10 @@ 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;
|
||||
case(4): // GET TRENDS
|
||||
TrendDatabase trendDeck = new TrendDatabase(context);
|
||||
trendsAdapter = new TrendsAdapter(context,R.layout.tweet,trendDeck);
|
||||
break;
|
||||
}
|
||||
} catch (TwitterException e) {
|
||||
|
@ -1,5 +1,8 @@
|
||||
package org.nuclearfog.twidda.engine.ViewAdapter;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.engine.TrendDatabase;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -7,33 +10,25 @@ import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.Location;
|
||||
import twitter4j.ResponseList;
|
||||
import twitter4j.Trend;
|
||||
import twitter4j.Trends;
|
||||
|
||||
public class TrendsAdapter extends ArrayAdapter {
|
||||
private Trend[] list;
|
||||
private TrendDatabase trend;
|
||||
private Context c;
|
||||
|
||||
public TrendsAdapter(Context c, int layout, Trend[] list) {
|
||||
public TrendsAdapter(Context c, int layout, TrendDatabase trend) {
|
||||
super(c, layout);
|
||||
this.list = list;
|
||||
this.trend = trend;
|
||||
this.c = c;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return list.length;
|
||||
return trend.getSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getItem(int position) {
|
||||
return list[position];
|
||||
return trend.getTrendname(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -43,7 +38,7 @@ public class TrendsAdapter extends ArrayAdapter {
|
||||
LayoutInflater inf=(LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
v = inf.inflate(R.layout.trend, null);
|
||||
}
|
||||
String trendName = list[position].getName();
|
||||
String trendName = trend.getTrendname(position);
|
||||
((TextView) v.findViewById(R.id.trendname)).setText(trendName);
|
||||
return v;
|
||||
}
|
||||
|
@ -12,7 +12,6 @@
|
||||
<string name="register_link">Link zur Anmeldung</string>
|
||||
|
||||
<!--Datenbank Konstanten -->
|
||||
|
||||
<string name="user_table">
|
||||
CREATE TABLE IF NOT EXISTS user (
|
||||
userID INTEGER PRIMARY KEY,
|
||||
@ -32,12 +31,19 @@
|
||||
FOREIGN KEY (userID) REFERENCES user_table(userID) );
|
||||
</string>
|
||||
|
||||
<string name="trend_table">
|
||||
CREATE TABLE IF NOT EXISTS trend (
|
||||
trendpos INTEGER,
|
||||
trendname TEXT,
|
||||
trendlink TEXT );
|
||||
</string>
|
||||
|
||||
<string name="SQL_HOME_TL">
|
||||
"SELECT * FROM tweet INNER JOIN user ON user.userID = tweet.userID ORDER BY time DESC"
|
||||
</string>
|
||||
|
||||
<string name="table_column">
|
||||
{"tweetID","time","tweet","retweet","favorite","answers","userID"}
|
||||
<string name="SQL_TRENS">
|
||||
"SELECT * FROM trend ORDER BY trendpos DESC"
|
||||
</string>
|
||||
|
||||
<string name="datei">timeline.db</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user