小编xcv*_*vbn的帖子

如何在首选项活动上显示应用版本?

我想添加一个我的应用版本,并可能在我的SettingsActivity上构建.

我试图在我的应用程序上显示"关于手机"样式活动.但我不知道如何去做.

我目前在我的preference.xml中使用EditTextPreference,它在Click上调用一个对话框,但我希望它是这样的,其中onClick事件不会产生一个对话框:

Nexus 5截图

SettingsActivity.java

public class SettingsActivity extends PreferenceActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.pref_general);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);

    LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
    Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.tool_bar, root, false);
    root.addView(bar, 0); // insert at top
    bar.setTitle("Settings");
    bar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

}

pref_general.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Settings">

<PreferenceCategory android:title="About" >
    <EditTextPreference
        android:title="Version"
        android:summary="@string/app_version"
        android:key="prefUsername"/>
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud)

还有一件事,是否有办法通过xml从gradle获取应用程序和构建号码.

我知道我的代码就像一个穴居人,我通常在strings.xml中手动更新它们,但在我的辩护中,我是Android新手.

java xml android preferenceactivity sharedpreferences

5
推荐指数
2
解决办法
4012
查看次数

MySQLdb无法初始化字符集utf-8错误

我试图使用MySQLdb驱动程序将一些阿拉伯语单词插入arabic_word我的hanswehr2数据库Maria DB 的列中.

我得到了一个latin-1 encode error.但在阅读之后,我发现MySQLdb驱动程序是默认的latin-1,我必须在函数中明确设置utf-8为我的选择字符集mariadb.connect().酱.

整个数据库设置为utf-8.

码:

def insert_into_db(arabic_word, definition):
    try:
        conn = mariadb.connect('localhost', 'root', 'xyz1234passwd', 'hans_wehr', charset='utf-8', use_unicode=True)
        conn.autocommit(True)
        cur = conn.cursor()
        cur.execute("INSERT INTO hanswehr2 (arabic_word , definition) VALUES (%s,%s)", (arabic_word, definition,))
    except mariadb.Error, e:
        print e
        sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

但是现在我收到以下错误:

/usr/bin/python2.7 /home/heisenberg/hans_wehr/main.py
Total lines 87672
(2019, "Can't initialize character set utf-8 (path: /usr/share/mysql/charsets/)")

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

我已经指定Python MySQL驱动程序使用utf-8字符,但它似乎忽略了这一点.

任何投入都将受到高度赞赏.

python mysql utf-8 iso-8859-1 character-encoding

2
推荐指数
1
解决办法
4944
查看次数

TA-Lib Python包装器仅长度为1的数组错误

码:

   def macd(prices):
        print "Running MACD"
        prices = np.asarray(prices)
        print prices
        macd, macdsignal, macdhist = MACD(prices, fastperiod=12, slowperiod=26, signalperiod=9)
        print "MACD "+macd
Run Code Online (Sandbox Code Playgroud)

说明:

我正在尝试对包含收盘价的Python列表进行一些分析。

我知道在将列表交给TA-Lib之前,我必须先对其进行转换,因为我已经看到了所有示例在做的事情。

但是,这可以通过 only length-1 arrays can be converted to Python scalars

python python-2.7 ta-lib

1
推荐指数
1
解决办法
807
查看次数

获取对象JSON Java Android中的所有对象

因此,我试图使用返回JSON响应的英雄联盟API.我没有使用像Jakcson或GSON这样的花哨的lib,

{"type":"champion","version":"5.11.1","data":{"Thresh":{"id":412,"key":"Thresh","name":"Thresh","title":"the Chain Warden"},"Aatrox":{"id":266,"key":"Aatrox","name":"Aatrox","title":"the Darkin Blade"},"Tryndamere":{"id":23,"key":"Tryndamere","name":"Tryndamere","title":"the Barbarian King"},"Gragas":{"id":79,"key":"Gragas","name":"Gragas","title":"the Rabble Rouser"}}}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问数据对象中的对象时,我必须明确列出代码中的键名.

关键名称真的很动态,所以它不实用.

有没有办法在没有显式调用键名的情况下获取数据对象中的所有对象?

这是我的Java客户端代码

public String callApi(String API_URL) throws IOException {

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);

    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
            .url(API_URL)
            .build();

    Response response = client.newCall(request).execute();
    return response.body().string();
}

public void buttonClick(View view) throws IOException, JSONException {

    String API_URL = "https://global.api.pvp.net/api/lol/static-data/tr/v1.2/champion?locale=en_US&api_key=my_key_here";

    String champions_json = callApi(API_URL);

    Log.i("summoner",champions_json);

    JSONObject json= new JSONObject(champions_json);
    JSONObject data = json.getJSONObject("data");

    Log.i("summoner", String.valueOf(data));

    List<String> champions = new ArrayList<String>();
    champions.add("Garen");
    champions.add("Aatrox"); …
Run Code Online (Sandbox Code Playgroud)

android json-api

0
推荐指数
1
解决办法
2888
查看次数