亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于安卓的K歌應(yīng)用APP設(shè)計與開發(fā)

        2019-09-10 07:22:44沈旭賴淳孟巍
        現(xiàn)代信息科技 2019年2期

        沈旭 賴淳 孟巍

        摘 要:隨著經(jīng)濟(jì)文化發(fā)展水平的不斷提高,生活節(jié)奏不斷加快,人們需要適合自己的娛樂方式釋放壓力。卡拉OK是一種深受大眾喜愛的娛樂方式,為了使人們方便快捷的通過手機(jī)K歌放松,設(shè)計開發(fā)了K歌應(yīng)用APP。APP基于Android平臺,采用Java編程語言設(shè)計開發(fā)、MySQL數(shù)據(jù)庫存儲數(shù)據(jù),APP具有使用方便快捷、運行穩(wěn)定可靠的特點,達(dá)到了設(shè)計目標(biāo)。

        關(guān)鍵詞:Android;MySQL;K歌APP

        中圖分類號:TP311.56 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)02-0001-05

        Abstract:With the continuous improvement of economic and cultural development level,the pace of life continues to accelerate,people need to adapt to their own way of entertainment to release pressure. Karaoke is a popular way of entertainment. In order to make people relax quickly and conveniently through the mobile phone K song,the design and development of K song application APP. The APP is based on Android platform,using Java programming language design and development,MySQL database storage data,APP is easy to use,running stable and reliable features,to achieve the design goals.

        Keywords:Android;MySQL;Karaoke APP

        0 引 言

        1945年,計算機(jī)的問世標(biāo)志著社會進(jìn)入了一個新的時代,隨著時間推移,計算機(jī)技術(shù)在飛速發(fā)展,伴隨而來的物聯(lián)網(wǎng)開始改變?nèi)藗兊纳畛B(tài)。如今,計算機(jī)與互聯(lián)網(wǎng)覆蓋了生活中的方方面面。

        隨著智能手機(jī)技術(shù)的不斷成熟,移動互聯(lián)網(wǎng)時代正式到來,所有用戶可以通過手機(jī)、平板獲得互聯(lián)網(wǎng)信息,智能手機(jī)因此也成為了標(biāo)志性的客戶端工具。智能手機(jī)使我們的生活發(fā)生了巨大變化。Android系統(tǒng)和iOS智能手機(jī)操作系統(tǒng)占據(jù)了全球的大部分市場,但是由于Android系統(tǒng)的開源性,得到了除蘋果公司之外幾乎所有手機(jī)廠商的使用。自然而然,性價比高的Android手機(jī)成為大部分人的首選[1]。

        因此,K歌應(yīng)用APP開發(fā),選擇基于Android系統(tǒng)進(jìn)行開發(fā),讓用戶通過安卓手機(jī)可使用K歌娛樂、溝通交流等功能。

        1 系統(tǒng)分析

        1.1 系統(tǒng)需求分析

        1.1.1 系統(tǒng)技術(shù)需求

        基于Android的K歌應(yīng)用APP使用的是現(xiàn)在應(yīng)用最廣泛的的Android開發(fā)框架,開發(fā)模式比較成熟,設(shè)計模式多樣化,開源性的Android能使手機(jī)技術(shù)緊跟時代科技的潮流步伐,手機(jī)自帶的數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行操作的管理,提高了數(shù)據(jù)庫的可靠性和穩(wěn)定性[2]。

        1.1.2 系統(tǒng)安全需求

        用戶要想進(jìn)入K歌應(yīng)用APP,首先需要進(jìn)入登錄系統(tǒng),未登錄用戶不可查看系統(tǒng)任何信息和數(shù)據(jù),確保系統(tǒng)的安全可靠性、準(zhǔn)確性以及數(shù)據(jù)完整性[3]。

        1.1.3 系統(tǒng)界面需求

        (1)界面簡潔。為了滿足用戶使用時高效率、低出錯率等要求,在系統(tǒng)用戶界面的設(shè)計上要求簡潔清晰明了。用戶在使用軟件的時候,簡潔便捷的功能選擇模塊,讓用戶對系統(tǒng)的功能一目了然,通過選擇功能模塊實現(xiàn)用戶功能需求[4,5]。

        (2)層次清晰。所有用戶在第一次打開應(yīng)用時,看到簡潔明了的應(yīng)用主界面,為用戶展示應(yīng)用各個功能模塊。用戶界面劃分成多個條目,點擊相應(yīng)條目可進(jìn)入對應(yīng)的數(shù)據(jù)處理界面,所以清晰的系統(tǒng)層次使用戶更容易熟悉APP的使用。

        1.2 系統(tǒng)功能分析

        K歌應(yīng)用APP主要實現(xiàn)用戶注冊、登錄、歌單、關(guān)注、我的等功能,用戶用例圖,如圖1:

        1.3 系統(tǒng)流程分析

        1.3.1 登錄流程

        所有用戶在進(jìn)入系統(tǒng)之前,首先必須登錄;同時,管理員要想進(jìn)入后臺管理系統(tǒng),進(jìn)行管理等操作,也需要先登錄,登錄流程圖,如圖2:

        1.3.2 注冊流程

        尚未有賬號的用戶,可通過注冊操作進(jìn)行注冊,注冊流程圖,如圖3:

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計

        在課題的需求分析階段,已經(jīng)對系統(tǒng)將要做成什么樣有了基本的思路和框架。對于一個實際的開發(fā)項目,需要通過需求說明書把需求進(jìn)行描述。繼而要做的工作就是將系統(tǒng)做什么的邏輯模型進(jìn)一步轉(zhuǎn)換為怎么做的物理模型,即著手去實現(xiàn)系統(tǒng)的需求,并將設(shè)計的結(jié)果反映在設(shè)計說明書文檔中[6,7]。K歌應(yīng)用APP系統(tǒng)功能結(jié)構(gòu)如圖4所示:

        2.2 數(shù)據(jù)庫設(shè)計

        數(shù)據(jù)庫是計算機(jī)信息系統(tǒng)的基礎(chǔ),信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作必須在數(shù)據(jù)庫管理系統(tǒng)的支持下才能進(jìn)行[8,9]。目前,計算機(jī)系統(tǒng)的關(guān)鍵以及核心部分就是數(shù)據(jù)庫,數(shù)據(jù)庫開發(fā)的優(yōu)劣直接影響整個系統(tǒng)的質(zhì)量和速度。數(shù)據(jù)庫設(shè)計由幾個關(guān)鍵步驟組成:分析需求、設(shè)計概念、設(shè)計邏輯和設(shè)計物理。

        2.2.1 E-R圖設(shè)計

        E-R圖是一種描述顯示數(shù)據(jù)類型間關(guān)系的數(shù)據(jù)描述方法,E-R圖可以完整地映射出現(xiàn)實模型的關(guān)系[10]。

        (1)用戶實體圖。如圖5:

        (2)關(guān)注實體圖。如圖6:

        (3)評論信息實體圖。如圖7:

        (4)歌曲信息實體圖。如圖8:

        2.2.2 數(shù)據(jù)庫表設(shè)計

        本基于Android的K歌應(yīng)用采用MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的儲存,歌曲信息表設(shè)計見表1:

        3 系統(tǒng)實現(xiàn)

        3.1 注冊登錄模塊

        未有賬號用戶在打開程序的時候,首先要進(jìn)入注冊界面實行賬戶的注冊,注冊時需要:用戶名、密碼,注冊成功后,可進(jìn)入登錄界面,然后再進(jìn)行登錄操作,用戶注冊登錄界面,如圖9:

        用戶填寫賬號和密碼之后,點擊登陸按鈕,系統(tǒng)會通過OkHttp進(jìn)行聯(lián)網(wǎng),發(fā)送登錄請求,具體實現(xiàn)代碼如下:

        OkHttpTools.sendPost(mContext,ApiManager.LOGIN)

        .addParams("name",user)

        .addParams("pwd",pwd)

        .build()

        .execute(new BaseCallBack

        @Override

        public void onResponse(UserObjBeanuserObjBean) {

        SpUtils.setUserBean(mContext,userObjBean.getData());

        MyApplication.getInstance().setUserBean(user ObjBean.getData());

        startActivity(new Intent(mContext,UserMain Activity.class));

        finish();

        }

        });

        3.2 歌單模塊

        用戶登錄后可進(jìn)入歌單界面查看已有歌曲信息,并可點擊查看歌曲詳情,在歌曲詳情界面可進(jìn)行歌曲播放、關(guān)注、點贊以及評論操作,歌單界面如圖10:

        歌曲信息主要是使用一個RecyclerView進(jìn)行展示,其中獲取歌曲列表信息和RecyclerView的適配器、歌曲播放代碼下所示:

        //從服務(wù)器獲取歌曲信息

        OkHttpTools.sendGet(mContext,ApiManager.SONG_LIST)

        .build()

        .execute(new BaseCallBack

        @Override

        public void onResponse(SongListBeansongListBean) {

        mData= songListBean.getData();

        adapter.notifyDataSetChanged(mData);

        }

        });

        //RecyclerView適配器

        private class MyAdapterextends BaseAdapter

        public MyAdapter(Context context,int layoutId,ArrayList

        super(context,layoutId,data);

        }

        @Override

        public void initItemView(BaseViewHolder holder,SongBeansongBean,int position) {

        if(TextUtils.isEmpty(songBean.getHeadUrl())){

        Glide.with(getActivity()).load("").into((ImageView)holder.getView(R.id.head_image));

        }else{

        Glide.with(getActivity()).load(ApiManager.HEAD_URL+songBean.getHeadUrl()).into((ImageView)holder.getView(R.id.head_image));

        }

        holder.setText(R.id.tv_name,songBean.getName());

        holder.setText(R.id.tv_total,"時間:" + My Application.formatTime.format(songBean.getLength()));

        holder.setText(R.id.tv_username,"用戶名:" + song Bean.getUname());

        }

        }

        }

        //播放

        public void play(booleanflag) {

        try {

        if (!mediaPlayer.isPlaying()) {

        if (flag) {

        mediaPlayer.setVolume(1.0f,1.0f);

        } else {

        mediaPlayer.setVolume(0.5f,0.5f);

        }

        mediaPlayer.start();

        }

        } catch (Exception e) {

        e.printStackTrace();

        }

        }

        3.3 關(guān)注模塊

        用戶在關(guān)注界面可查看個人已關(guān)注的歌曲信息,并可點擊進(jìn)行歌曲播放、點贊以及評論操作,關(guān)注界面如圖11:

        3.4 錄制歌曲模塊

        用戶登錄后可進(jìn)行錄制歌曲操作,在錄制歌曲時,首先可進(jìn)行選擇伴奏界面進(jìn)行下載伴奏,伴奏下載完成后,點擊演唱按鈕即可開始錄制歌曲,同時,如果有之前已經(jīng)下載過的歌曲,可以直接點擊演唱按鈕進(jìn)行錄制。歌曲錄制界面如圖12所示。

        其中,下載伴奏,查詢已存在的伴奏,開始錄音的核心代碼:

        @PermissionSuccess(requestCode = 522)

        private void ok1() { //下載伴奏

        OkHttpUtils.get().url(ApiManager.BZ_PATH+ downMusic.getAddr())

        .build()

        .execute(new FileCallBack(

        Environment.getExternalStorageDirectory(). getAbsolutePath() + "/bsktv",

        downMusic.getName() + ".mp3") {

        @Override

        public void onError(Call call,Exception e,int id) {

        }

        @Override

        public void onResponse(File response,int id) {

        dialog.dismiss();

        loadLocalData();

        }

        @Override

        public void inProgress(float progress,long total,int id) {

        super.inProgress(progress,total,id);

        dialog.setPor(progress);

        }

        });

        }

        //開始錄音使用amr格式錄音文件

        public void startRecord() {

        if (mMediaRecorder== null)

        mMediaRecorder= new MediaRecorder();

        try { mMediaRecorder.setAudioSource(Media Recorder.AudioSource.MIC);// 設(shè)置麥克風(fēng)

        mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);

        mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

        filePath= FolderPath+ System.currentTimeMillis() + ".amr";

        mMediaRecorder.setOutputFile(filePath);

        mMediaRecorder.prepare();

        mMediaRecorder.start();

        startTime= System.currentTimeMillis();

        updateMicStatus();

        Log.e("fan","startTime" + startTime);

        } catch (IllegalStateException e) {

        Log.i(TAG,"call startAmr(File mRecAudioFile) failed!" + e.getMessage());

        } catch (IOException e) {

        Log.i(TAG,"call startAmr(File mRecAudioFile) failed!" + e.getMessage());

        }

        }

        3.5 我的

        在我的歌曲界面,用戶可以查看個人已錄制的歌曲,點擊后可看到關(guān)注量和評論。

        4 結(jié) 論

        智能手機(jī)的普及,極大的改變了人們的休閑娛樂方式。人們希望使用科技讓生活、工作、學(xué)習(xí)等變得更加便捷,由此催生了大量移動應(yīng)用APP。人們的日常生活和移動互聯(lián)網(wǎng)息息相關(guān),但關(guān)于娛樂K歌的APP比較少。因此,開發(fā)一款基于Android的K歌娛樂應(yīng)用APP就非常有必要,既可以自娛自樂K歌休閑,又可以利用發(fā)布功能,把錄好的歌曲上傳共享,供大家欣賞評論、交流互動。

        參考文獻(xiàn):

        [1] Rafael Ufology. GOOGLE ANDROID MARKET [J]. Computer Canada,2009,25(13):24-25.

        [2] 袁浩.基于J2EE平臺的制造業(yè)企業(yè)產(chǎn)品知識管理系統(tǒng)設(shè)計與實現(xiàn) [D].長沙:湖南大學(xué),2016.

        [3] 張劉正.Android系統(tǒng)下軟件的自動化測試框架(本地化平臺)的研究與實現(xiàn) [D].成都:西南交通大學(xué),2012.

        [4] 張娜.Android系統(tǒng)架構(gòu)研究與應(yīng)用 [D].西安:西安科技大學(xué),2013.

        [5] 李光革(Ri Kwanghyok).基于Android的物聯(lián)網(wǎng)應(yīng)用結(jié)構(gòu)研究與實現(xiàn) [D].北京:北京郵電大學(xué),2014.

        [6] 徐雪麗.基于Android平臺的虛擬試衣關(guān)鍵技術(shù)研究 [D].西安:陜西科技大學(xué),2014.

        [7] 曾鵬飛.基于Wi-Fi信號強度與多傳感器信息融合的室內(nèi)定位系統(tǒng)研究 [D].無錫:江南大學(xué),2014.

        [8] 容麗.移動端家庭理財系統(tǒng)的設(shè)計與實現(xiàn) [D].天津:天津大學(xué),2015.

        [9] 王垚鑫.基于Android平臺數(shù)字水印的應(yīng)用研究 [D].南京:南京郵電大學(xué),2015.

        [10] 葉錦標(biāo).基于Android平臺的流媒體傳輸系統(tǒng)的設(shè)計與實現(xiàn) [D].南京:南京郵電大學(xué),2015.

        作者簡介:沈旭(1979-),男,漢族,山東單縣人,講師,碩士,CCF會員(66155M),研究方向:輿情計算、移動應(yīng)用研究等。

        久久88综合| 亚洲精品中文幕一区二区| 日本在线综合一区二区| 不卡的av网站在线观看| 香蕉人人超人人超碰超国产| 国产精品亚洲欧美天海翼| 亚洲精彩视频一区二区| 亚洲精品国产成人久久av| 亚洲国产高清精品在线| 亚洲精品一区国产欧美| 久久久久亚洲女同一区二区| 日本免费一区精品推荐| 青青草亚洲视频社区在线播放观看| 无码任你躁久久久久久老妇| 狼人国产精品亚洲| 亚洲天堂色婷婷一区二区 | 亚洲综合自拍偷拍一区| 69sex久久精品国产麻豆| 99热这里只有精品4| 国产亚洲精品视频在线| 国产av一区二区毛片| 久久99精品久久久久久琪琪| 亚洲产国偷v产偷v自拍色戒| 国产av综合一区二区三区最新 | 永久黄网站色视频免费看| 中文亚洲成a人片在线观看| 丝袜欧美视频首页在线| 亚洲av天堂在线免费观看| 欧美肥婆性猛交xxxx| 国产精品美女久久久浪潮av| 久久亚洲中文字幕精品一区四 | 大地资源高清在线视频播放| 国产999精品久久久久久| yw193.can尤物国产在线网页| 久久av粉嫩一区二区| 偷看农村妇女牲交| 欧美成人一区二区三区在线观看| 亚洲AV无码久久精品国产老人| 国产精品美女主播在线| 无码人妻精品一区二区三| 尤物99国产成人精品视频|