当前位置:网站首页>Android Real Player - Simple network video player, 2021 the latest Baidu, Headlines and other Companies Android interview questions

Android Real Player - Simple network video player, 2021 the latest Baidu, Headlines and other Companies Android interview questions

2022-01-15 02:36:15 Mb61c1dbbb44788

}

AvecgetViewMéthode pour retourner l'objet vidéo,Les principaux codes sont les suivants:

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

if (convertView == null) {

convertView = LayoutInflater.from(context).inflate(R.layout.item_mainlv,parent,false);

holder = new ViewHolder(convertView);

convertView.setTag(holder);

}else {

holder = (ViewHolder) convertView.getTag();

}

// Obtenir la source de données pour l'emplacement spécifié

VideoBean.ItemListBean.DataBean dataBean = mDatas.get(position).getData();

// Définir les informations de l'éditeur

VideoBean.ItemListBean.DataBean.AuthorBean author = dataBean.getAuthor();

holder.nameTv.setText(author.getName());

holder.descTv.setText(author.getDescription());

String iconURL = author.getIcon();

if (!TextUtils.isEmpty(iconURL)) {

Picasso.with(context).load(iconURL).into(holder.iconIv);

}

// Obtenez des points pour et des commentaires

VideoBean.ItemListBean.DataBean.ConsumptionBean consumpBean = dataBean.getConsumption();

holder.heartTv.setText(consumpBean.getRealCollectionCount()+“”);

holder.replyTv.setText(consumpBean.getReplyCount()+“”);

// Définir les informations du lecteur vidéo

holder.jzvdStd.setUp(dataBean.getPlayUrl(),dataBean.getTitle(), JzvdStd.SCREEN_NORMAL);

String thumbUrl = dataBean.getCover().getFeed(); //Adresse réseau de la vignette

Picasso.with(context).load(thumbUrl).into(holder.jzvdStd.thumbImageView);

holder.jzvdStd.positionInList = position;

return convertView;

}

 6.Après avoir écrit les étapes ci - dessus,Les données du réseau doivent être chargées

La méthode Native Android est utilisée ici pour charger les données réseau.EncapsuléHttpUtilsMéthodes.

public static String getJsonContent(String path){

ByteArrayOutputStream baos = new ByteArrayOutputStream();

try {

URL url = new URL(path);

//AutoportantehttpObjet de connexion

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.connect();//Connexion

InputStream is = conn.getInputStream();//Lire le flux d'entrée

byte[]buf = new byte[1024];//Lecture temporaire dans le tableau

int hasRead = 0;

while ((hasRead = is.read(buf))!=-1){

baos.write(buf,0,hasRead);

}

} catch (Exception e) {

e.printStackTrace();

}

return baos.toString();

}

 7.InMainActivityAppelez la méthode ci - dessus

private void loadData() {

/* Créer un nouveau thread,Compléter l'acquisition des données*/

new Thread(new Runnable() {

@Override

public void run() {

String jsonContent = HttpUtils.getJsonContent(url);

// Le Sous - thread ne peut pas être mis à jourUI,Besoin de passerhandlerEnvoyer les données au fil principal

Message message = new Message(); //Objet du message envoyé

message.what = 1;

message.obj = jsonContent;

//Le Sous - thread renvoie

handler.sendMessage(message);

}

}).start();

}

Utilisé iciHandlerMécanismes

Handler handler = new Handler(){

@Override

public void handleMessage(Message msg) {

if (msg.what == 1) {

String json = (String) msg.obj;

// UtiliserGson Analyser les données

com.example.new2.VideoBean videoBean = new Gson().fromJson(json, com.example.new2.VideoBean.class);

// Filtrer les données indésirables

List<com.example.new2.VideoBean.ItemListBean> itemList = videoBean.getItemList();

for (int i = 0; i < itemList.size(); i++) {

com.example.new2.VideoBean.ItemListBean listBean = itemList.get(i);

if (listBean.getType().equals(“video”)) {

mDatas.add(listBean);

}

}

// Invite l'adaptateur à mettre à jour les données

adapter.notifyDataSetChanged();

}

}

};

 8.AndroidManifest .Ajouter une demande de réseau

<uses-permission android:name=“android.permission.INTERNET”/>

InapplicationAjouterandroid:usesCleartextTraffic=“true”,Pour une configuration globale.

**9.Attention!:** Le cadre doit être disponible en JDK1.8Version,Inbulid.gradle(app)Deandroid Ajouter une déclaration

compileOptions {

targetCompatibility = 1.8

sourceCompatibility = 1.8

}

 10.Effet de fonctionnement final

AndroidSur le terrain—— Simple lecteur vidéo réseau ,2021Dernier Baidu、Headlines, etc.AndroidQuestions d'entrevue_Programmeur

 Apprendre les liens vidéohttps://www.bilibili.com/video/BV1X7411n7SL?p=1&share_medium=android&share_plat=android&share_source=COPY&share_tag=s_i&timestamp=1609666763&unique_k=wVwU7W

Enfin

En fait...AndroidTant de points de connaissance sont développés,C'est une question d'interview ou quelque chose comme ça.Donc l'interview n'a pas d'autre astuce,Seulement si vous êtes bien préparé à ces points de connaissance.so,Quand vous sortez pour un entretien d'embauche, regardez d'abord à quel stade vous avez passé en revue.

La figure ci - dessous montre les années que j'ai accumulées dans mes études supérieuresTencent、Les gros titres、Ali!、Meituan、Byte JUMP, etc.2019-2021Questions d'entrevue à haute fréquence,Les blogueurs ont également regroupé ces points techniques en vidéos etPDF(Il a fallu plus d'énergie que prévu),Contient le contexte de la connaissance + Beaucoup de détails

AndroidSur le terrain—— Simple lecteur vidéo réseau ,2021Dernier Baidu、Headlines, etc.AndroidQuestions d'entrevue_Android_02

Ci - dessus【Questions d'entrevue pour les ingénieurs supérieurs de Dachang au fil des ans】、【AndroidVidéo pédagogique avancée】、【AndroidConnaissances avancées point d'apprentissagePDF】Tout est partagé gratuitement.Si nécessaire,Cliquez sur** 【AndroidVidéo de schéma+BATJSujet de l'entrevuePDF+Notes d'étude】**Disponible gratuitement.

Difficile à organiser,J'espère que vous regarderez attentivement,Merci beaucoup.!J'espère que tout le monde pourra obtenir son propre travail.

版权声明
本文为[Mb61c1dbbb44788]所创,转载请带上原文链接,感谢
https://chowdera.com/2022/01/202201150232489656.html

随机推荐