戏说三国之群英会蒋干中计

By admin in mobile.365-838.com on 2019年4月22日

记得有《戏说乾隆大帝》那样的电视机剧,何不也来个《戏说三国之群英会蒋干中计》。笔者钻探了须臾间,晚自习回家后,把《三国演义》翻出来,《群英会蒋干中计》那1篇又看了看,小编就来个“戏说三国”吧!

关键字:Stock,股票,安卓,Android Studio。

话说当今海内外漕运市镇的3大公司,北方西夏航运集团是正宗大跨国集团,调节多瑙河以北的兼具的航海运输市集,江东明清船只公司据有了江南的航海运输集镇,西蜀刘汉漕运公司调节川蜀一隅的漕运市集。

OS:Windows 10。

大背景下,北方元朝集团希图兼并江东元代集团,然后再兼并西蜀刘汉公司,达到其一统全国航运市场之目标,因其国有控股,背后既有政策帮助,又有中央银行雄厚资金的后台,可谓来势猛烈事在必得。

 

立刻,全国航海运输股票市④朝不保夕,几家欢乐几家愁,最大的三家证券是清朝公司联袂涨停,汉朝和刘汉公司是一路跌停。一场看不见的血雨腥风拉开了帐篷。

近日学习Android应用开辟,不通晓写1个怎么着的次序来练练手,正好最近年来货(Futures)极流行,就二个App来实时获取股票数量,取名叫Mystock。使用支付工具Android
Studio,要求从Android官方网址下载,下载地址:http://developer.android.com/sdk/index.htmlmobile.365-838.com,。不幸的是Android是谷歌(Google)公司的,任何和谷歌公司相关的在境内都心有余而力不足直接待上访问,只可以通过VPN访问。

此刻,风雨欲来风满楼,一干风云人物上台。蒋干是北方明代公司公司,江东地区的经营发售老总,被古代集团CEO武皇帝亲自委派为早期商谈代表,实际背后原因是蒋干与江东明代公司CEO周公瑾是大高校友,依然睡在她上铺的弟兄。

下图为Android Studio张开二个工程的截图:

蒋干轻车从简,只带一名硕士助理,一叶扁舟来到西楚公司总局所在地江夏,周郎虽日理万机,可是老同学来了,自然不敢怠慢,布署蒋干先住进他们公司旗下的8星级酒馆秦大渡河畔,让她住进本身的002号总统套房,00一号是懂事长孙仲谋的套房。

mobile.365-838.com 1

夜里,周公瑾特邀了江东公司中层以上的人士,在秦珠江畔最大的会客室壹品江山,来宴请老同学蒋干,壹是为她接风,二是介绍他认得江东公司的奇才们,3是叙旧。

 

酒席初始以前,周公瑾举杯对在坐诸位说:“前天自身兄子翼来访,不谈公事,只论友谊,军机大臣慈,你喝了那杯酒,就当我们酒令官,要是有人犯规,大权在您,奖赏处置罚款明显!”

下边按步介绍Mystock的完成步骤。

大家齐声叫好,蒋干吓了一跳,心里嘀咕“都说江东公司军事化管理,看样子是名符其实啊!作者要么因时制宜吗!”

1.以下是activa_main.xml的剧情。上边一排是八个TextView,分别用来体现上证指数,索菲亚成指,创业板指。中间1排是1个艾德itText和三个Button,用来丰裕证券。上边是2个Table,用来显示增多的股票列表。

酒过三巡,菜过5味,蒋干被老同学热情接待得已是有些喝高了!什么门到户说的鲁肃,号称江南公司的智囊,才具大牌黄盖,经营发售达人甘宁,轮番上阵给蒋干敬酒,不①会蒋干就以为天旋地转,脚底转圈了!

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:orientation="vertical"  tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="0.33"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/stock_sh_name"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/stock_sh_index"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="12sp"
                android:id="@+id/stock_sh_change"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="0.33"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/stock_sz_name"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/stock_sz_index"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="12sp"
                android:id="@+id/stock_sz_change"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="0.33"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/stock_chuang_name"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/stock_chuang_index"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="12sp"
                android:id="@+id/stock_chuang_change"/>
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="number"
            android:maxLength="6"
            android:id="@+id/editText_stockId"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/button_add_label"
            android:onClick="addStock" />
    </LinearLayout>

    <!--ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView" /-->
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/stock_table"></TableLayout>

    </ScrollView>
</LinearLayout>

吃完饭,周郎还要拉着蒋干去K歌,晕头转向的蒋干被甘宁拎小鸡同样给扔进了包间,甘宁2个响指,二个风韵犹存的老鸨子领着一溜的江南美貌的女人进了包间,甘宁一个眼神,龟婆子立马安插俩姑娘去伺候蒋干。

行使截图如下:

蒋干这几个土鳖,平时都以给客户安排陪酒姑娘,自身那舍得花那1个钱呀!是有贼心没贼胆的那种货品,明日老同学请客,那可是放开手脚,和俩姑娘谈人生谈理想,一副酒逢知己千杯少的死样。

mobile.365-838.com 2

周公瑾看在眼了,笑在心头,“小样,就你如此的也想来搞商谈谈条件!”1个眼神,旁边的黄盖,打开自个儿西装口袋前的针孔录像头,对着蒋干初步拍照。

 

大多两点了,已经喝的伍迷三倒的蒋干被周公瑾扶到了002号总统套房,周郎拍着蒋干的脸说:“当年自个儿是睡在你上铺的汉子,前日大家要抵足而眠,促膝长谈!”

 二.数据获得,那里运用sina提供的接口来实时获取证券数量,代码如下:

竟然蒋干睡的和死猪同样,周郎呵呵一笑,把3个信封塞到了蒋干枕头上边,也倒头便睡。

public void querySinaStocks(String list){
        // Instantiate the RequestQueue.
        RequestQueue queue = Volley.newRequestQueue(this);
        String url ="http://hq.sinajs.cn/list=" + list;
        //http://hq.sinajs.cn/list=sh600000,sh600536

        // Request a string response from the provided URL.
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        updateStockListView(sinaResponseToStocks(response));
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                    }
                });

        queue.add(stringRequest);
    }

第3十一日一早,周公瑾起床上班去了,蒋干睡到了日上叁竿,他醒来发烧欲裂,看样子昨日喝了不少,上完厕所,希图在上床躺一会,开掘枕头下面怎么有个信封,他愕然拿出来1看,原来是一踏照片。

此间发送Http请求用到了Volley,必要在build.gradle里面增多dependencies:compile
‘com.mcxiaoke.volley:library:一.0.1九’。

她不看万幸,一看吓了1跳,他们西汉公司的经营出售总裁蔡冒和技艺部院长张允时候和周郎在K电视包间里推杯换盏,诶不对啊!怎么还有后日陪酒的那俩姑娘啊!

 

“哎呦,作者了个去!小编还跑来驾驭人家的虚实,推断人家对我们公司的景况已是胸有成竹了!”蒋干那几个生气啊!那俩家伙各类劝说曹总放缓兼并速度,那正是商业间谍啊!

三.按期刷新上市股票(stock)票数量,使用了Timer,每隔两秒发送请求获取数据,代码如下:

于是蒋干拿动手提式有线电电话机,把这几个照片全体拍了照片。然后用微信发给了曹总,他刚把信封塞好,周公瑾急匆匆的归来了,蒋干忙装着还在上床,周郎叫了她两声,不见反应,从枕头下偷偷拿走了信封。

        Timer timer = new Timer("RefreshStocks");
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                refreshStocks();
            }
        }, 0, 2000);



    private void refreshStocks(){
        String ids = "";
        for (String id : StockIds_){
            ids += id;
            ids += ",";
        }
        querySinaStocks(ids);
    }

周郎前脚刚走,蒋干麻溜爬起来,在套房里翻箱倒柜查看还有未有吗有用的素材,看到书房里有一台Computer,①看好像还开着,动下鼠标,显示屏亮了,尽然未有设锁屏密码,而且周公瑾的邮箱还打开着,一份邮件已发,收件人蔡冒,打开已发邮件,原来是周郎给蔡冒营销混入假的安插,绸缪从北宋公司经营发卖部起首出手。

 

蒋干拍了照片,给曹孟德发了微信,一切收10停当,给周公瑾发了短信,联系助理匆匆离开了江夏。蔡冒张允几个人被曹主管掉走人了!

4.在程序退出时存款和储蓄股票(stock)代码,下次张开App时,能够来得上次的期货列表。代码如下。

未完待续……

    private void saveStocksToPreferences(){
        String ids = "";
        for (String id : StockIds_){
            ids += id;
            ids += ",";
        }

        SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putString(StockIdsKey_, ids);
        editor.commit();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();  // Always call the superclass

        saveStocksToPreferences();
    }

 

无戒36五天极限日更挑战营第一十八天

5.刨除选中的股票(stock),在menu_main.xml里面增多一个action。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />
    <item android:id="@+id/action_delete" android:title="@string/action_delete"
        android:orderInCategory="100" app:showAsAction="never" />
</menu>

代码响应事件并剔除:

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
        else if(id == R.id.action_delete){
            if(SelectedStockItems_.isEmpty())
                return true;

            for (String selectedId : SelectedStockItems_){
                StockIds_.remove(selectedId);
                TableLayout table = (TableLayout)findViewById(R.id.stock_table);
                int count = table.getChildCount();
                for (int i = 1; i < count; i++){
                    TableRow row = (TableRow)table.getChildAt(i);
                    LinearLayout nameId = (LinearLayout)row.getChildAt(0);
                    TextView idText = (TextView)nameId.getChildAt(1);
                    if(idText != null && idText.getText().toString() == selectedId){
                        table.removeView(row);
                        break;
                    }
                }
            }

            SelectedStockItems_.clear();
        }

        return super.onOptionsItemSelected(item);
    }

荧屏截图:

mobile.365-838.com 3

 

6.当有大数额委托挂单时,发送新闻提示,代码如下:

{
...
            String text = "";
            String sBuy = getResources().getString(R.string.stock_buy);
            String sSell = getResources().getString(R.string.stock_sell);
            if(Double.parseDouble(stock.b1_ )>= StockLargeTrade_) {
                text += sBuy + "1:" + stock.b1_ + ",";
            }
            if(Double.parseDouble(stock.b2_ )>= StockLargeTrade_) {
                text += sBuy + "2:" + stock.b2_ + ",";
            }
            if(Double.parseDouble(stock.b3_ )>= StockLargeTrade_) {
                text += sBuy + "3:" + stock.b3_ + ",";
            }
            if(Double.parseDouble(stock.b4_ )>= StockLargeTrade_) {
                text += sBuy + "4:" + stock.b4_ + ",";
            }
            if(Double.parseDouble(stock.b5_ )>= StockLargeTrade_) {
                text += sBuy + "5:" + stock.b5_ + ",";
            }
            if(Double.parseDouble(stock.s1_ )>= StockLargeTrade_) {
                text += sSell + "1:" + stock.s1_ + ",";
            }
            if(Double.parseDouble(stock.s2_ )>= StockLargeTrade_) {
                text += sSell + "2:" + stock.s2_ + ",";
            }
            if(Double.parseDouble(stock.s3_ )>= StockLargeTrade_) {
                text += sSell + "3:" + stock.s3_ + ",";
            }
            if(Double.parseDouble(stock.s4_ )>= StockLargeTrade_) {
                text += sSell + "4:" + stock.s4_ + ",";
            }
            if(Double.parseDouble(stock.s5_ )>= StockLargeTrade_) {
                text += sSell + "5:" + stock.s5_ + ",";
            }
            if(text.length() > 0)
                sendNotifation(Integer.parseInt(sid), stock.name_, text);
...
}


    public void sendNotifation(int id, String title, String text){
        NotificationCompat.Builder nBuilder =
                new NotificationCompat.Builder(this);
        nBuilder.setSmallIcon(R.drawable.ic_launcher);
        nBuilder.setContentTitle(title);
        nBuilder.setContentText(text);
        nBuilder.setVibrate(new long[]{100, 100, 100});
        nBuilder.setLights(Color.RED, 1000, 1000);

        NotificationManager notifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notifyMgr.notify(id, nBuilder.build());
    }

荧屏截图:

mobile.365-838.com 4

 

源代码:https://github.com/ldlchina/Mystock

安装文件下载:http://files.cnblogs.com/files/ldlchina/Mystock.apk

 

参考资料:

http://developer.android.com/training/index.html (需通过VPN访问)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 mobile.365-838.com 版权所有