Raised SDK to 21

Added Scrollview
This commit is contained in:
NudeDude 2018-01-19 15:07:23 +01:00
parent 23b1cdde0f
commit ca4f54778b
18 changed files with 128 additions and 86 deletions

View File

@ -140,8 +140,6 @@ public class MainActivity extends AppCompatActivity implements AdapterView.OnIte
@Override @Override
protected void onPause() { protected void onPause() {
if(!searchQuery.isIconified())
searchQuery.onActionViewCollapsed();
super.onPause(); super.onPause();
} }
@ -307,7 +305,7 @@ public class MainActivity extends AppCompatActivity implements AdapterView.OnIte
// Tab #3 // Tab #3
TabSpec tab3 = tabhost.newTabSpec("mention"); TabSpec tab3 = tabhost.newTabSpec("mention");
tab3.setContent(R.id.mention); tab3.setContent(R.id.mention);
tab3.setIndicator("",getResources().getDrawable(R.drawable.mention_icon)); tab3.setIndicator("",getResources().getDrawable(R.drawable.mention));
tabhost.addTab(tab3); tabhost.addTab(tab3);
tabhost.setOnTabChangedListener(this); tabhost.setOnTabChangedListener(this);

View File

@ -15,8 +15,12 @@ public class ImageDownloader extends AsyncTask<String, Void, Bitmap>
{ {
private final WeakReference<ImageView> imgReference ; private final WeakReference<ImageView> imgReference ;
public ImageDownloader(ImageView imgView) { public ImageDownloader(WeakReference<ImageView> imgReference) {
imgReference = new WeakReference<>(imgView); this.imgReference = imgReference;
}
public ImageDownloader(ImageView img) {
imgReference = new WeakReference<>(img);
} }
@Override @Override

View File

@ -115,7 +115,7 @@ public class ProfileAction extends AsyncTask<Long,Void,Long>
link = user.getURL(); link = user.getURL();
follower = "Follower: "+user.getFollowersCount(); follower = "Follower: "+user.getFollowersCount();
following = "Following: "+user.getFriendsCount(); following = "Following: "+user.getFriendsCount();
imageLink = user.getProfileImageURL(); imageLink = user.getMiniProfileImageURL();
bannerLink = user.getProfileBannerMobileURL(); bannerLink = user.getProfileBannerMobileURL();
} }
else if(MODE == GET_TWEETS) else if(MODE == GET_TWEETS)

View File

@ -1,10 +1,13 @@
package org.nuclearfog.twidda.backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
@ -35,15 +38,16 @@ public class ShowStatus extends AsyncTask<Long, Void, Boolean> {
private Context c; private Context c;
private Twitter twitter; private Twitter twitter;
private ListView replyList; private ListView replyList;
private TextView username,scrName, tweet, txtAns, txtRet, txtFav, date; private TextView username,scrName, replyName, tweet, txtAns, txtRet, txtFav, date;
private Button retweetButton, favoriteButton; private Button retweetButton, favoriteButton;
private ImageView profile_img, tweet_img; private ImageView profile_img, tweet_img;
private ArrayList<twitter4j.Status> answers; private ArrayList<twitter4j.Status> answers;
private String usernameStr, scrNameStr, tweetStr, dateString; private String usernameStr, scrNameStr, tweetStr, dateString;
private String ansStr, rtStr, favStr; private String ansStr, rtStr, favStr, repliedUsername;
private boolean retweeted, favorited, toggleImg; private boolean retweeted, favorited, toggleImg;
private SharedPreferences settings; private SharedPreferences settings;
private int load, ansNo; private int load, ansNo;
private long userReply, tweetReplyID;
private Date d; private Date d;
private Bitmap profile_btm, tweet_btm; private Bitmap profile_btm, tweet_btm;
@ -64,7 +68,7 @@ public class ShowStatus extends AsyncTask<Long, Void, Boolean> {
username = (TextView) ((TweetDetail)c).findViewById(R.id.usernamedetail); username = (TextView) ((TweetDetail)c).findViewById(R.id.usernamedetail);
scrName = (TextView) ((TweetDetail)c).findViewById(R.id.scrnamedetail); scrName = (TextView) ((TweetDetail)c).findViewById(R.id.scrnamedetail);
date = (TextView) ((TweetDetail)c).findViewById(R.id.timedetail); date = (TextView) ((TweetDetail)c).findViewById(R.id.timedetail);
replyName = (TextView) ((TweetDetail)c).findViewById(R.id.answer_reference_detail);
txtAns = (TextView) ((TweetDetail)c).findViewById(R.id.no_ans_detail); txtAns = (TextView) ((TweetDetail)c).findViewById(R.id.no_ans_detail);
txtRet = (TextView) ((TweetDetail)c).findViewById(R.id.no_rt_detail); txtRet = (TextView) ((TweetDetail)c).findViewById(R.id.no_rt_detail);
txtFav = (TextView) ((TweetDetail)c).findViewById(R.id.no_fav_detail); txtFav = (TextView) ((TweetDetail)c).findViewById(R.id.no_fav_detail);
@ -78,6 +82,7 @@ public class ShowStatus extends AsyncTask<Long, Void, Boolean> {
/** /**
* @param id [0] TWEET ID , [1] Mode * @param id [0] TWEET ID , [1] Mode
* @returns false if Tweet is already loaded.
*/ */
@Override @Override
protected Boolean doInBackground(Long... id) { protected Boolean doInBackground(Long... id) {
@ -86,12 +91,18 @@ public class ShowStatus extends AsyncTask<Long, Void, Boolean> {
twitter4j.Status currentTweet = twitter.showStatus(tweetID); twitter4j.Status currentTweet = twitter.showStatus(tweetID);
rtStr = Integer.toString(currentTweet.getRetweetCount()); rtStr = Integer.toString(currentTweet.getRetweetCount());
favStr = Integer.toString(currentTweet.getFavoriteCount()); favStr = Integer.toString(currentTweet.getFavoriteCount());
userReply = currentTweet.getInReplyToUserId();
tweetReplyID = currentTweet.getInReplyToStatusId();
retweeted = currentTweet.isRetweetedByMe(); retweeted = currentTweet.isRetweetedByMe();
favorited = currentTweet.isFavorited(); favorited = currentTweet.isFavorited();
if(id.length == 1) { if(id.length == 1) {
tweetStr = currentTweet.getText(); tweetStr = currentTweet.getText();
usernameStr = currentTweet.getUser().getName(); usernameStr = currentTweet.getUser().getName();
scrNameStr = '@'+currentTweet.getUser().getScreenName(); scrNameStr = '@'+currentTweet.getUser().getScreenName();
if(userReply > 0) {
repliedUsername = "Antwort an @"+currentTweet.getInReplyToScreenName();
}
d = currentTweet.getCreatedAt(); d = currentTweet.getCreatedAt();
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
dateString = sdf.format(d); dateString = sdf.format(d);
@ -143,6 +154,11 @@ public class ShowStatus extends AsyncTask<Long, Void, Boolean> {
scrName.setText(scrNameStr); scrName.setText(scrNameStr);
txtAns.setText(ansStr); txtAns.setText(ansStr);
date.setText(dateString); date.setText(dateString);
if(repliedUsername != null) {
replyName.setText(repliedUsername);
replyName.setVisibility(View.VISIBLE);
}
TweetDatabase tweetDatabase = new TweetDatabase(answers,c); TweetDatabase tweetDatabase = new TweetDatabase(answers,c);
TimelineAdapter tlAdp = new TimelineAdapter(c, tweetDatabase); TimelineAdapter tlAdp = new TimelineAdapter(c, tweetDatabase);
replyList.setAdapter(tlAdp); replyList.setAdapter(tlAdp);
@ -151,10 +167,21 @@ public class ShowStatus extends AsyncTask<Long, Void, Boolean> {
profile_img.setImageBitmap(profile_btm); profile_img.setImageBitmap(profile_btm);
tweet_img.setImageBitmap(tweet_btm); tweet_img.setImageBitmap(tweet_btm);
} }
setIcons(); setIcons();
txtRet.setText(rtStr); txtRet.setText(rtStr);
txtFav.setText(favStr); txtFav.setText(favStr);
replyName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(c, TweetDetail.class);
Bundle bundle = new Bundle();
bundle.putLong("tweetID",tweetReplyID);
bundle.putLong("userID",userReply);
intent.putExtras(bundle);
c.startActivity(intent);
}
});
} }
private void setMedia(twitter4j.Status tweet) throws Exception { private void setMedia(twitter4j.Status tweet) throws Exception {

View File

@ -12,7 +12,7 @@ public class AppDatabase extends SQLiteOpenHelper
private AppDatabase(Context context) { private AppDatabase(Context context) {
super(context, context.getString(R.string.database),null, 1); super(context, context.getString(R.string.database),null, 1);
context = context; this.context = context;
} }
@Override @Override

View File

@ -23,7 +23,7 @@ public class TweetDatabase {
public static final int GET_MENT = 4; // GET MENTION TL public static final int GET_MENT = 4; // GET MENTION TL
private AppDatabase dataHelper; private AppDatabase dataHelper;
private List<String> user,scrname, tweet,pbLink; private List<String> user,scrname,tweet,pbLink;
private List<Long> userId,tweetId,timeMillis; private List<Long> userId,tweetId,timeMillis;
private List<Integer> noRT,noFav,noAns; private List<Integer> noRT,noFav,noAns;
private List<Status> stats; private List<Status> stats;
@ -200,6 +200,7 @@ public class TweetDatabase {
public String getDate(int pos){return timeToString(getTime(pos));} public String getDate(int pos){return timeToString(getTime(pos));}
public String getPbImg (int pos){return pbLink.get(pos);} public String getPbImg (int pos){return pbLink.get(pos);}
public boolean loadImages(){return toggleImg;} public boolean loadImages(){return toggleImg;}
public Bitmap getProfileImg(int pos){return profileImg.get(pos);}
/** /**
* Convert Time to String * Convert Time to String

View File

@ -15,6 +15,8 @@ import org.nuclearfog.twidda.backend.ImageDownloader;
import org.nuclearfog.twidda.window.ColorPreferences; import org.nuclearfog.twidda.window.ColorPreferences;
import org.nuclearfog.twidda.database.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
import java.lang.ref.WeakReference;
public class TimelineAdapter extends ArrayAdapter implements View.OnClickListener { public class TimelineAdapter extends ArrayAdapter implements View.OnClickListener {
private TweetDatabase mTweets; private TweetDatabase mTweets;
private ViewGroup p; private ViewGroup p;
@ -60,10 +62,11 @@ public class TimelineAdapter extends ArrayAdapter implements View.OnClickListene
((TextView) v.findViewById(R.id.favorite_number)).setText(favoriteStr); ((TextView) v.findViewById(R.id.favorite_number)).setText(favoriteStr);
((TextView) v.findViewById(R.id.time)).setText(mTweets.getDate(position)); ((TextView) v.findViewById(R.id.time)).setText(mTweets.getDate(position));
((TextView) v.findViewById(R.id.tweettext)).setTextColor(textColor); ((TextView) v.findViewById(R.id.tweettext)).setTextColor(textColor);
ImageView imgView = v.findViewById(R.id.tweetPb);
imgView.setImageResource(R.mipmap.pb); if(mTweets.loadImages()) {
if(mTweets.loadImages()) ImageView imgView = v.findViewById(R.id.tweetPb);
new ImageDownloader(imgView).execute(mTweets.getPbImg(position)); new ImageDownloader(new WeakReference<>(imgView)).execute(mTweets.getPbImg(position));
}
return v; return v;
} }

View File

@ -15,6 +15,8 @@ import org.nuclearfog.twidda.window.ColorPreferences;
import org.nuclearfog.twidda.database.UserDatabase; import org.nuclearfog.twidda.database.UserDatabase;
import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.R;
import java.lang.ref.WeakReference;
public class UserAdapter extends ArrayAdapter implements View.OnClickListener { public class UserAdapter extends ArrayAdapter implements View.OnClickListener {
private UserDatabase userDatabase; private UserDatabase userDatabase;
@ -56,7 +58,7 @@ public class UserAdapter extends ArrayAdapter implements View.OnClickListener {
if(userDatabase.loadImages()) { if(userDatabase.loadImages()) {
ImageDownloader imgDl = new ImageDownloader(imgView); ImageDownloader imgDl = new ImageDownloader(new WeakReference<>(imgView));
imgDl.execute(userDatabase.getProfileURL(position)); imgDl.execute(userDatabase.getProfileURL(position));
} else { } else {
imgView.setImageResource(R.mipmap.pb); imgView.setImageResource(R.mipmap.pb);

View File

@ -9,6 +9,7 @@ import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView;
import org.nuclearfog.twidda.backend.ShowStatus; import org.nuclearfog.twidda.backend.ShowStatus;
import org.nuclearfog.twidda.database.TweetDatabase; import org.nuclearfog.twidda.database.TweetDatabase;
@ -24,6 +25,7 @@ public class TweetDetail extends AppCompatActivity implements View.OnClickListen
private ListView answer_list; private ListView answer_list;
private long tweetID; private long tweetID;
private long userID; private long userID;
private long replyID = -1;
private boolean home = false; private boolean home = false;
@Override @Override
@ -31,10 +33,13 @@ public class TweetDetail extends AppCompatActivity implements View.OnClickListen
super.onCreate(b); super.onCreate(b);
setContentView(R.layout.tweet_detail); setContentView(R.layout.tweet_detail);
tweetID = getIntent().getExtras().getLong("tweetID"); tweetID = getIntent().getExtras().getLong("tweetID");
userID = getIntent().getExtras().getLong("userID");//userID userID = getIntent().getExtras().getLong("userID");
if(getIntent().hasExtra("home") ){ if(getIntent().hasExtra("home")) {
home = getIntent().getExtras().getBoolean("home"); home = getIntent().getExtras().getBoolean("home");
} }
if(getIntent().hasExtra("replyID")) {
replyID = getIntent().getExtras().getLong("replyID");
}
answer_list = (ListView) findViewById(R.id.answer_list); answer_list = (ListView) findViewById(R.id.answer_list);
Button answer = (Button) findViewById(R.id.answer_button); Button answer = (Button) findViewById(R.id.answer_button);
@ -43,9 +48,9 @@ public class TweetDetail extends AppCompatActivity implements View.OnClickListen
ImageView pb = (ImageView) findViewById(R.id.profileimage_detail); ImageView pb = (ImageView) findViewById(R.id.profileimage_detail);
answer_list.setOnItemClickListener(this); answer_list.setOnItemClickListener(this);
answer.setOnClickListener(this);
retweet.setOnClickListener(this);
favorite.setOnClickListener(this); favorite.setOnClickListener(this);
retweet.setOnClickListener(this);
answer.setOnClickListener(this);
pb.setOnClickListener(this); pb.setOnClickListener(this);
setContent(); setContent();
} }

View File

@ -3,6 +3,7 @@ package org.nuclearfog.twidda.window;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
@ -66,7 +67,7 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen
// Tab #2 // Tab #2
TabHost.TabSpec tab2 = mTab.newTabSpec("favorites"); TabHost.TabSpec tab2 = mTab.newTabSpec("favorites");
tab2.setContent(R.id.homefavorits); tab2.setContent(R.id.homefavorits);
tab2.setIndicator("",getResources().getDrawable(R.drawable.favorite_icon)); tab2.setIndicator("",getResources().getDrawable(R.drawable.favorite));
mTab.addTab(tab2); mTab.addTab(tab2);
mTab.setOnTabChangedListener(this); mTab.setOnTabChangedListener(this);

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/favorite" />
</selector>

View File

@ -1,4 +0,0 @@
<vector android:height="24dp" android:viewportHeight="20.0"
android:viewportWidth="20.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFF" android:pathData="M10,17.5L3.5,11H7V3h6v8h3.5L10,17.5z"/>
</vector>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
</vector>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/mention" />
</selector>

View File

@ -6,7 +6,7 @@
android:fitsSystemWindows="true"> android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout <android.support.design.widget.AppBarLayout
android:id="@+id/appbar" android:id="@+id/barlayout_profile"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@android:color/transparent" android:background="@android:color/transparent"
@ -28,7 +28,7 @@
<android.support.v7.widget.Toolbar <android.support.v7.widget.Toolbar
android:id="@+id/profile_toolbar" android:id="@+id/profile_toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/bar_wide" /> android:layout_height="@dimen/bar_wide"/>
<ImageView <ImageView
android:id="@+id/banner" android:id="@+id/banner"
@ -141,6 +141,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:fillViewport="true" android:fillViewport="true"
android:fitsSystemWindows="true"
app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"> app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior">
<LinearLayout <LinearLayout

View File

@ -8,57 +8,67 @@
<LinearLayout <LinearLayout
android:id="@+id/user" android:id="@+id/user"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_marginLeft="5dp" android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" android:layout_marginRight="5dp"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
android:orientation="horizontal"> android:gravity="center_vertical"
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<TextView
android:id="@+id/screenname"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingEnd="5dp"
android:paddingStart="5dp" />
<TextView
android:id="@+id/time"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="end"
android:gravity="end"
android:textAlignment="gravity" />
</LinearLayout>
<LinearLayout
android:id="@+id/bulk"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/tweetPb" android:id="@+id/tweetPb"
android:layout_width="64dp" android:layout_width="48dp"
android:layout_height="64dp" android:layout_height="48dp"
android:layout_margin="5dp" android:layout_margin="5dp"
android:contentDescription="@string/profile_image" /> android:contentDescription="@string/profile_image" />
<TextView <LinearLayout
android:id="@+id/tweettext"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="5dp" /> android:layout_margin="5dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:id="@+id/time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_weight="1"
android:gravity="end"
android:textAlignment="gravity" />
</LinearLayout>
<TextView
android:id="@+id/screenname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="5dp"
android:paddingStart="5dp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/tweettext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="5dp" />
<LinearLayout <LinearLayout
android:id="@+id/actionbar" android:id="@+id/actionbar"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -29,7 +29,10 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="10dp" android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
@ -42,7 +45,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
@ -67,6 +71,14 @@
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/answer_reference_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginStart="10dp"
android:visibility="invisible" />
<TextView <TextView
android:id="@+id/tweet_detailed" android:id="@+id/tweet_detailed"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -33,6 +33,7 @@
<string name="woeid">WOEID Standort</string> <string name="woeid">WOEID Standort</string>
<string name="get_link">Link</string> <string name="get_link">Link</string>
<string name="delete_tweet">Löschen</string> <string name="delete_tweet">Löschen</string>
<string name="refresh_dummy">Aktualisieren</string>
<string name="tableUser"> <string name="tableUser">
CREATE TABLE IF NOT EXISTS user ( CREATE TABLE IF NOT EXISTS user (
@ -80,6 +81,6 @@
trendname TEXT, trendname TEXT,
trendlink TEXT); trendlink TEXT);
</string> </string>
<string name="refresh_dummy">Aktualisieren</string>
</resources> </resources>