Github上README.md介绍

大标题 大标题一般显示工程名,类似html的<h1> 你只要在标题下面跟上=====即可 中标题 ———————————– 中标题一般显示重点项,类似html的<h2> 你只要在标题下面输入——即可 ### 小标题 小标题类似html的<h3> 小标题的格式如下 ### 小标题 注意#和标题字符中间要有空格 ### 注意!!!下面所有语法的提示我都先用小标题提醒了!!! ### 单行文本框 这是一个单行的文本框,只要两个Tab再输入文字即可 ### 多行文本框 这是一个有多行的文本框 你可以写入代码等,每行文字只要输入两个Tab再输入文字即可 这里你可以输入一段代码 ### 比如我们可以在多行文本框里输入一段代码,来一个Java版本的HelloWorld吧 public class HelloWorld { /** @param args */ public static void main(String[] args) { System.out.println(“HelloWorld!”); } } ### 链接 1.[点击这里你可以链接到www.google.com](http://www.google.com) 2.[点击这里我你可以链接到我的博客](http://guoyunsky.iteye.com) ###只是显示图片 ![github](http://github.com/unicorn.png “github”) ###想点击某个图片进入一个网页,比如我想点击github的icorn然后再进入www.github.com [![image]](http://www.github.com/) [image]: http://github.com/github.png “github” ### 文字被些字符包围 文字被些字符包围 只要再文字前面加上>空格即可 如果你要换行的话,新起一行,输入>空格即可,后面不接文字 但> 只能放在行首才有效 ### 文字被些字符包围,多重包围 文字被些字符包围开始 只要再文字前面加上>空格即可 如果你要换行的话,新起一行,输入>空格即可,后面不接文字 但> 只能放在行首才有效 ### 特殊字符处理 有一些特殊字符如<,#等,只要在特殊字符前面加上转义字符\即可 ...

2015年8月4日 · 2 分钟 · 天边的星星

直接拿来用!十大Material Design开源项目

** **本文详细介绍了十个Material Design开源项目,从示例、FAB、菜单、动画、Ripple到Dialog,看被誉为“Google第一次在设计语言和规范上超越了Apple”的Material Design是如何逐渐成为App的一种全新设计标准。 介于拟物和扁平之间的Material Design自面世以来,便引起了很多人的关注与思考,就此产生的讨论也不绝于耳。本文详细介绍了在Android开发者圈子里颇受青睐的十个Material Design开源项目,从示例、FAB、菜单、动画、Ripple到Dialog,看被称为“Google第一次在设计语言和规范上超越了Apple”的Material Design是如何逐渐成为App的一种全新设计标准。 1. MaterialDesignLibrary 在众多新晋库中,MaterialDesignLibrary可以说是颇受开发者瞩目的一个控件效果库,能够让开发者在Android 2.2系统上使用Android 5.0才支持的控件效果,比如扁平、矩形、浮动按钮,复选框以及各式各样的进度指示器等。 ![](http://dl2.iteye.com/upload/attachment/0103/5584/80416adf-b40f-31f9-b2e0-3986c8ab7790.jpg) 除上述之外,MaterialDesignLibrary还拥有SnackBar、Dialog、Color selector组件,可非常便捷地对应用界面进行设置。 进度指示器样式效果设置: Xml代码 <embed src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" type="application/x-shockwave-flash" width="14" height="15"> </embed> </div> - <span class="tag"><</span><span class="tag-name">com.gc.materialdesign.views.ProgressBarCircularIndetermininate</span> - <span class="attribute">android:id</span>=<span class="attribute-value">&#8220;@+id/progressBarCircularIndetermininate&#8221;</span> - <span class="attribute">android:layout_width</span>=<span class="attribute-value">&#8220;32dp&#8221;</span> - <span class="attribute">android:layout_height</span>=<span class="attribute-value">&#8220;32dp&#8221;</span> - <span class="attribute">android:background</span>=<span class="attribute-value">&#8220;#1E88E5&#8221;</span> <span class="tag">/></span> Dialog: Java代码 <embed src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" type="application/x-shockwave-flash" width="14" height="15"> </embed> </div> - Dialog dialog = <span class="keyword">new</span> Dialog(Context context,String title, String message); - dialog.show(); 2. RippleEffect ...

2015年7月10日 · 3 分钟 · 天边的星星

emoji 表情 编码整理

emoji 表情 编码整理,有需要的朋友可以参考下。 var faces_array = { ‘:bowtie:’:1, ‘:smile:’:U+1F604, ‘:laughing:’:U+1F606, ‘:blush:’:U+1F60A, ‘:smiley:’:U+1F603, ‘:relaxed:’:U+263A, ‘:smirk:’:U+1F60F, ‘:heart_eyes:’:U+1F60D, ‘:kissing_heart:’:U+1F618, ‘:kissing_closed_eyes:’:U+1F61A, ‘:flushed:’:U+1F633, ‘:relieved:’:U+1F60C, ‘:satisfied:’:U+1F606, ‘:grin:’:U+1F601, ‘:wink:’:U+1F609, ‘:stuck_out_tongue_winking_eye:’:U+1F61C, ‘:stuck_out_tongue_closed_eyes:’:U+1F61D, ‘:grinning:’:U+1F601, ‘:kissing:’:U+1F619, ‘:kissing_smiling_eyes:’:U+1F617, ‘:stuck_out_tongue:’:U+1F61C, ‘:sleeping:’:22, ‘:worried:’:U+1F61F, ‘:frowning:’:U+1F627, ‘:anguished:’:U+1F626, ‘:open_mouth:’:U+1F62E, ‘:grimacing:’:U+1F600, ‘:confused:’:U+1F62F, ‘:hushed:’:29, ‘:expressionless:’:U+1F611, ‘:unamused:’:U+1F612, ‘:sweat_smile:’:U+1F605, ‘:sweat:’:U+1F613, ‘:disappointed_relieved:’:U+1F625, ‘:weary:’:U+1F629, ‘:pensive:’:U+1F614, ‘:disappointed:’:U+1F61E, ‘:confounded:’:U+1F616, ‘:fearful:’:U+1F628, ‘:cold_sweat:’:U+1F630, ‘:persevere:’:U+1F623, ‘:cry:’:U+1F622, ‘:sob:’:U+1F62D, ‘:joy:’:U+1F602, ‘:astonished:’:U+1F632, ‘:scream:’:U+1F631, ‘:neckbeard:’:47, ‘:tired_face:’:U+1F62B, ‘:angry:’:U+1F620, ‘:rage:’:U+1F621, ‘:triumph:’:U+1F624, ‘:sleepy:’:U+1F62A, ‘:yum:’:U+1F60B, ‘:mask:’:U+1F637, ‘:sunglasses:’:U+1F60E, ‘:dizzy_face:’:U+1F635, ‘:imp:’:U+1F47F, ‘:smiling_imp:’:U+1F608, ‘:neutral_face:’:U+1F610, ‘:no_mouth:’:U+1F636, ‘:innocent:’:U+1F607, ‘:alien:’:U+1F47D, ‘:yellow_heart:’:U+1F49B, ‘:blue_heart:’:U+1F499, ‘:purple_heart:’:U+1F49C, ‘:heart:’:U+2764, ‘:green_heart:’:U+1F49A, ‘:broken_heart:’:U+1F494, ‘:heartbeat:’:U+1F493, ‘:heartpulse:’:U+1F497, ‘:two_hearts:’:U+1F495, ‘:revolving_hearts:’:U+1F49E, ‘:cupid:’:U+1F498, ‘:sparkling_heart:’:U+1F496, ‘:sparkles:’:U+2728, ‘:star:’:U+2B50, ‘:star2:’:U+1F31F, ‘:dizzy:’:U+1F4AB, ‘:boom:’:U+1F4A5, ‘:collision:’:U+1F4A5, ‘:anger:’:U+1F4A2, ‘:exclamation:’:U+2757, ‘:question:’:U+2753, ‘:grey_exclamation:’:U+2755, ‘:grey_question:’:U+2754, ‘:zzz:’:U+1F4A4, ‘:dash:’:U+1F4A8, ‘:sweat_drops:’:U+1F4A6, ‘:notes:’:U+1F3B6, ‘:musical_note:’:U+1F3B5, ‘:fire:’:U+1F525, ‘:hankey:’:U+1F4A9, ‘:poop:’:U+1F4A9, ‘:shit:’:U+1F4A9, ‘:+1:’:U+1F44D, ‘:thumbsup:’:U+1F44D, ‘:-1:’:U+1F44E, ‘:thumbsdown:’:U+1F44E, ‘:ok_hand:’:U+1F44C, ‘:punch:’:U+1F44A, ‘:facepunch:’:101, ‘:fist:’:U+270A, ‘:v:’:U+270C, ‘:wave:’:U+1F44B, ‘:hand:’:U+270B, ‘:raised_hand:’:U+270B, ‘:open_hands:’:U+1F450, ‘:point_up:’:U+261D, ‘:point_down:’:U+1F447, ‘:point_left:’:U+1F448, ‘:point_right:’:U+1F449, ‘:raised_hands:’:U+1F64C, ‘:pray:’:U+1F64F, ‘:point_up_2:’:U+1F446, ‘:clap:’:U+1F44F, ‘:muscle:’:U+1F4AA, ‘:metal:’:117, ‘:fu:’:118, ‘:walking:’:U+1F6B6, ‘:runner:’:U+1F3C3, ‘:running:’:U+1F3C3, ‘:couple:’:U+1F46B, ‘:family:’:U+1F46A, ‘:two_men_holding_hands:’:U+1F46C, ‘:two_women_holding_hands:’:U+1F46D, ‘:dancer:’:U+1F483, ‘:dancers:’:U+1F46F, ‘:ok_woman:’:U+1F646, ‘:no_good:’:U+1F645, ‘:information_desk_person:’:U+1F481, ‘:raising_hand:’:U+1F64B, ‘:bride_with_veil:’:U+1F470, ‘:person_with_pouting_face:’:U+1F64E, ‘:person_frowning:’:U+1F64D, ‘:bow:’:U+1F647, ‘:couplekiss:’:U+1F48F, ‘:couple_with_heart:’:U+1F491, ‘:massage:’:U+1F486, ‘:haircut:’:U+1F487, ‘:nail_care:’:U+1F485, ‘:boy:’:U+1F466, ‘:girl:’:U+1F467, ‘:woman:’:U+1F469, ‘:man:’:U+1F468, ‘:baby:’:U+1F476, ‘:older_woman:’:U+1F475, ‘:older_man:’:U+1F474, ‘:person_with_blond_hair:’:U+1F471, ‘:man_with_gua_pi_mao:’:U+1F472, ‘:man_with_turban:’:U+1F473, ‘:construction_worker:’:U+1F477, ‘:cop:’:U+1F46E, ‘:angel:’:U+1F47C, ‘:princess:’:U+1F478, ‘:smiley_cat:’:U+1F63A, ‘:smile_cat:’:U+1F638, ‘:heart_eyes_cat:’:U+1F63B, ‘:kissing_cat:’:U+1F63D, ‘:smirk_cat:’:U+1F63C, ‘:scream_cat:’:U+1F640, ‘:crying_cat_face:’:U+1F63F, ‘:joy_cat:’:U+1F639, ‘:pouting_cat:’:U+1F63E, ‘:japanese_ogre:’:U+1F479, ‘:japanese_goblin:’:U+1F47A, ‘:see_no_evil:’:U+1F648, ‘:hear_no_evil:’:U+1F649, ‘:speak_no_evil:’:U+1F64A, ‘:guardsman:’:U+1F482, ‘:skull:’:U+1F480, ‘:feet:’:U+1F463, ‘:lips:’:U+1F444, ‘:kiss:’:U+1F48B, ‘:droplet:’:U+1F4A7, ‘:ear:’:U+1F442, ‘:eyes:’:U+1F440, ‘:nose:’:U+1F443, ‘:tongue:’:U+1F445, ‘:love_letter:’:U+1F48C, ‘:bust_in_silhouette:’:U+1F464, ‘:busts_in_silhouette:’:U+1F465, ‘:speech_balloon:’:U+1F4AC, ‘:thought_balloon:’:U+1F4AD, ‘:feelsgood:’:184, ‘:finnadie:’:185, ‘:goberserk:’:186, ‘:godmode:’:187, ‘:hurtrealbad:’:188, ‘:rage1:’:189, ‘:rage2:’:190, ‘:rage3:’:191, ‘:rage4:’:192, ‘:suspect:’:193, ‘:trollface:’:194, ‘:sunny:’:U+2600, ‘:umbrella:’:U+2614, ‘:cloud:’:0x2601, ‘:snowflake:’:U+2744, ‘:snowman:’:U+26C4, ‘:zap:’:U+26A1, ‘:cyclone:’:U+1F300, ‘:foggy:’:U+1F301, ‘:ocean:’:U+1F30A, ‘:cat:’:U+1F431, ‘:dog:’:U+1F436, ‘:mouse:’:U+1F430, ‘:hamster:’:U+1F439, ‘:rabbit:’:U+1F430, ‘:wolf:’:U+1F43A, ‘:frog:’:U+1F438, ‘:tiger:’:U+1F42F, ‘:koala:’:U+1F428, ‘:bear:’:U+1F43B, ‘:pig:’:U+1F437, ‘:pig_nose:’:U+1F43D, ‘:cow:’:U+1F42E, ‘:boar:’:U+1F417, ‘:monkey_face:’:U+1F435, ‘:monkey:’:U+1F412, ‘:horse:’:U+1F434, ‘:racehorse:’:U+1F40E, ‘:camel:’:U+1F42B, ‘:sheep:’:U+1F411, ‘:elephant:’:U+1F418, ‘:panda_face:’:U+1F43C, ‘:snake:’:U+1F40D, ‘:bird:’:U+1F426, ‘:baby_chick:’:U+1F424, ‘:hatched_chick:’:U+1F425, ‘:hatching_chick:’:U+1F423, ‘:chicken:’:U+1F414, ‘:penguin:’:U+1F427, ‘:turtle:’:U+1F422, ‘:bug:’:U+1F41B, ‘:honeybee:’:U+1F41D, ‘:ant:’:U+1F41C, ‘:beetle:’:U+1F41E, ‘:snail:’:U+1F40C, ‘:octopus:’:U+1F419, ‘:tropical_fish:’:U+1F420, ‘:fish:’:U+1F41F, ‘:whale:’:U+1F433, ‘:whale2:’:U+1F40B, ‘:dolphin:’:U+1F42C, ‘:cow2:’:U+1F404, ‘:ram:’:U+1F40F, ‘:rat:’:U+1F400, ‘:water_buffalo:’:U+1F403, ‘:tiger2:’:U+1F405, ‘:rabbit2:’:U+1F407, ‘:dragon:’:U+1F432, ‘:goat:’:U+1F410, ‘:rooster:’:U+1F413, ‘:dog2:’:U+1F415, ‘:pig2:’:U+1F416, ‘:mouse2:’:U+1F42D, ‘:ox:’:U+1F402, ‘:dragon_face:’:U+1F432, ‘:blowfish:’:U+1F421, ‘:crocodile:’:U+1F40A, ‘:dromedary_camel:’:U+1F42A, ‘:leopard:’:U+1F406, ‘:cat2:’:U+1F408, ‘:poodle:’:U+1F429, ‘:paw_prints:’:U+1F43E, ‘:bouquet:’:U+1F490, ‘:cherry_blossom:’:U+1F338, ‘:tulip:’:U+1F337, ‘:four_leaf_clover:’:U+1F340, ‘:rose:’:U+1F339, ‘:sunflower:’:U+1F33B, ‘:hibiscus:’:U+1F33A, ‘:maple_leaf:’:U+1F341, ‘:leaves:’:U+1F343, ‘:fallen_leaf:’:U+1F342, ‘:herb:’:U+1F33F, ‘:mushroom:’:U+1F344, ‘:cactus:’:U+1F335, ‘:palm_tree:’:U+1F334, ‘:evergreen_tree:’:U+1F332, ‘:deciduous_tree:’:U+1F333, ‘:chestnut:’:U+1F330, ‘:seedling:’:U+1F331, ‘:blossom:’:U+1F33C, ‘:ear_of_rice:’:U+1F33E, ‘:shell:’:U+1F41A, ‘:globe_with_meridians:’:U+1F310, ‘:sun_with_face:’:U+1F31E, ‘:full_moon_with_face:’:U+1F31D, ‘:new_moon_with_face:’:U+1F31A, ‘:new_moon:’:U+1F311, ‘:waxing_crescent_moon:’:U+1F312, ‘:first_quarter_moon:’:U+1F313, ‘:waxing_gibbous_moon:’:U+1F314, ‘:full_moon:’:U+1F315, ‘:waning_gibbous_moon:’:U+1F316, ‘:last_quarter_moon:’:U+1F317, ‘:waning_crescent_moon:’:U+1F318, ‘:last_quarter_moon_with_face:’:U+1F31C, ‘:first_quarter_moon_with_face:’:U+1F31B, ‘:moon:’:U+1F319, ‘:earth_africa:’:U+1F30D, ‘:earth_americas:’:U+1F30E, ‘:earth_asia:’:U+1F30F, ‘:volcano:’:U+1F30B, ‘:milky_way:’:U+1F30C, ‘:partly_sunny:’:U+26C5, ‘:octocat:’:308, ‘:squirrel:’:309, ‘:bamboo:’:U+1F38D, ‘:gift_heart:’:U+1F49D, ‘:dolls:’:U+1F38E, ‘:school_satchel:’:U+1F392, ‘:mortar_board:’:U+1F393, ‘:flags:’:U+1F38F, ‘:fireworks:’:U+1F386, ‘:sparkler:’:U+1F387, ‘:wind_chime:’:U+1F390, ‘:rice_scene:’:U+1F391, ‘:jack_o_lantern:’:U+1F383, ‘:ghost:’:U+1F47B, ‘:santa:’:U+1F385, ‘:christmas_tree:’:U+1F384, ‘:gift:’:U+1F381, ‘:bell:’:U+1F514, ‘:no_bell:’:U+1F515, ‘:tanabata_tree:’:U+1F38B, ‘:tada:’:U+1F389, ‘:confetti_ball:’:U+1F38A, ‘:balloon:’:U+1F388, ‘:crystal_ball:’:U+1F52E, ‘:cd:’:U+1F4BF, ‘:dvd:’:U+1F4C0, ‘:floppy_disk:’:U+1F4BE, ‘:camera:’:U+1F4F7, ‘:video_camera:’:U+1F4F9, ‘:movie_camera:’:U+1F3A5, ‘:computer:’:U+1F4BB, ‘:tv:’:U+1F4FA, ‘:iphone:’:U+1F4F1, ‘:phone:’:U+260E, ‘:telephone:’:U+260E, ‘:telephone_receiver:’:U+1F4DE, ‘:pager:’:U+1F4DF, ‘:fax:’:U+1F4E0, ‘:minidisc:’:U+1F4BD, ‘:vhs:’:U+1F4FC, ‘:sound:’:U+1F509, ‘:speaker:’:U+1F50A, ‘:mute:’:U+1F507, ‘:loudspeaker:’:U+1F4E2, ‘:mega:’:U+1F4E3, ‘:hourglass:’:U+231B, ‘:hourglass_flowing_sand:’:U+23F3, ‘:alarm_clock:’:U+23F0, ‘:watch:’:U+231A, ‘:radio:’:U+1F4FB, ‘:satellite:’:U+1F4E1, ‘:loop:’:U+27BF, ‘:mag:’:U+1F50D, ‘:mag_right:’:U+1F50E, ‘:unlock:’:U+1F513, ‘:lock:’:U+1F512, ‘:lock_with_ink_pen:’:U+1F50F, ‘:closed_lock_with_key:’:U+1F510, ‘:key:’:U+1F511, ‘:bulb:’:U+1F4A1, ‘:flashlight:’:U+1F526, ‘:high_brightness:’:U+1F506, ‘:low_brightness:’:U+1F505, ‘:electric_plug:’:U+1F50C, ‘:battery:’:U+1F50B, ‘:calling:’:U+1F4F2, ‘:email:’:U+1F4E9, ‘:mailbox:’:U+1F4EB, ‘:postbox:’:U+1F4EE, ‘:bath:’:U+1F6C0, ‘:bathtub:’:U+1F6C1, ‘:shower:’:U+1F6BF, ‘:toilet:’:U+1F6BD, ‘:wrench:’:U+1F527, ‘:nut_and_bolt:’:U+1F529, ‘:hammer:’:U+1F528, ‘:seat:’:U+1F4BA, ‘:moneybag:’:U+1F4B0, ‘:yen:’:U+1F4B4, ‘:dollar:’:U+1F4B5, ‘:pound:’:U+1F4B7, ‘:euro:’:U+1F4B6, ‘:credit_card:’:U+1F4B3, ‘:money_with_wings:’:U+1F4B8, ‘:e-mail:’:U+1F4E7, ‘:inbox_tray:’:U+1F4E5, ‘:outbox_tray:’:U+1F4E4, ‘:envelope:’:U+2709, ‘:incoming_envelope:’:U+1F4E8, ‘:postal_horn:’:U+1F4EF, ‘:mailbox_closed:’:U+1F4EA, ‘:mailbox_with_mail:’:U+1F4EC, ‘:mailbox_with_no_mail:’:U+1F4ED, ‘:door:’:U+1F6AA, ‘:smoking:’:U+1F6AC, ‘:bomb:’:U+1F4A3, ‘:gun:’:U+1F52B, ‘:hocho:’:U+1F52A, ‘:pill:’:U+1F48A, ‘:syringe:’:U+1F489, ‘:page_facing_up:’:U+1F4C4, ‘:page_with_curl:’:U+1F4C3, ‘:bookmark_tabs:’:U+1F4D1, ‘:bar_chart:’:U+1F4CA, ‘:chart_with_upwards_trend:’:U+1F4C8, ‘:chart_with_downwards_trend:’:U+1F4C9, ‘:scroll:’:U+1F4DC, ‘:clipboard:’:U+1F4CB, ‘:calendar:’:U+1F4C6, ‘:date:’:U+1F4C5, ‘:card_index:’:U+1F4C7, ‘:file_folder:’:U+1F4C1, ‘:open_file_folder:’:U+1F4C2, ‘:scissors:’:U+2702, ‘:pushpin:’:U+1F4CC, ‘:paperclip:’:U+1F4CE, ‘:black_nib:’:U+2712, ‘:pencil2:’:U+270F, ‘:straight_ruler:’:U+1F4CF, ‘:triangular_ruler:’:U+1F4D0, ‘:closed_book:’:U+1F4D5, ‘:green_book:’:U+1F4D7, ‘:blue_book:’:U+1F4D8, ‘:orange_book:’:U+1F4D9, ‘:notebook:’:U+1F4D3, ‘:notebook_with_decorative_cover:’:U+1F4D4, ‘:ledger:’:U+1F4D2, ‘:books:’:U+1F4DA, ‘:bookmark:’:U+1F516, ‘:name_badge:’:U+1F4DB, ‘:microscope:’:U+1F52C, ‘:telescope:’:U+1F52D, ‘:newspaper:’:U+1F4F0, ‘:football:’:U+1F3C8, ‘:basketball:’:U+1F3C0, ‘:soccer:’:U+26BD, ‘:baseball:’:U+26BE, ‘:tennis:’:U+1F3BE, ‘:8ball:’:U+1F3B1, ‘:rugby_football:’:U+1F3C9, ‘:bowling:’:U+1F3B3, ‘:golf:’:U+26F3, ‘:mountain_bicyclist:’:U+1F6B5, ‘:bicyclist:’:U+1F6B4, ‘:horse_racing:’:U+1F40E, ‘:snowboarder:’:U+1F3C2, ‘:swimmer:’:U+1F3CA, ‘:surfer:’:U+1F3C4, ‘:ski:’:U+1F3BF, ‘:spades:’:U+2660, ‘:hearts:’:U+2665, ‘:clubs:’:U+2663, ‘:diamonds:’:U+2666, ‘:gem:’:U+1F48E, ‘:ring:’:U+1F48D, ‘:trophy:’:U+1F3C6, ‘:musical_score:’:U+1F3BC, ‘:musical_keyboard:’:U+1F3B9, ‘:violin:’:U+1F3BB, ‘:space_invader:’:U+1F47E, ‘:video_game:’:U+1F3AE, ‘:black_joker:’:U+1F0CF, ‘:flower_playing_cards:’:U+1F3B4, ‘:game_die:’:U+1F3B2, ‘:dart:’:U+1F3AF, ‘:mahjong:’:U+1F004, ‘:clapper:’:U+1F3AC, ‘:memo:’:U+1F4DD, ‘:pencil:’:U+1F4DD, ‘:book:’:U+1F4D6, ‘:art:’:U+1F3A8, ‘:microphone:’:U+1F3A4, ‘:headphones:’:U+1F3A7, ‘:trumpet:’:U+1F3BA, ‘:saxophone:’:U+1F3B7, ‘:guitar:’:U+1F3B8, ‘:shoe:’:U+1F45F, ‘:sandal:’:U+1F461, ‘:high_heel:’:U+1F460, ‘:lipstick:’:U+1F484, ‘:boot:’:U+1F462, ‘:shirt:’:U+1F455, ‘:tshirt:’:U+1F455, ‘:necktie:’:U+1F454, ‘:womans_clothes:’:U+1F45A, ‘:dress:’:U+1F457, ‘:running_shirt_with_sash:’:U+1F3BD, ‘:jeans:’:U+1F456, ‘:kimono:’:U+1F458, ‘:bikini:’:U+1F459, ‘:ribbon:’:U+1F380, ‘:tophat:’:U+1F3A9, ‘:crown:’:U+1F451, ‘:womans_hat:’:U+1F452, ‘:mans_shoe:’:U+1F45E, ‘:closed_umbrella:’:U+1F302, ‘:briefcase:’:U+1F4BC, ‘:handbag:’:U+1F45C, ‘:pouch:’:U+1F45D, ‘:purse:’:U+1F45B, ‘:eyeglasses:’:U+1F453, ‘:fishing_pole_and_fish:’:U+1F3A3, ‘:coffee:’:U+2615, ‘:tea:’:U+1F375, ‘:sake:’:U+1F376, ‘:baby_bottle:’:U+1F37C, ‘:beer:’:U+1F37A, ‘:beers:’:U+1F37B, ‘:cocktail:’:U+1F378, ‘:tropical_drink:’:U+1F379, ‘:wine_glass:’:U+1F377, ‘:fork_and_knife:’:U+1F374, ‘:pizza:’:U+1F355, ‘:hamburger:’:U+1F354, ‘:fries:’:U+1F35F, ‘:poultry_leg:’:U+1F357, ‘:meat_on_bone:’:U+1F356, ‘:spaghetti:’:U+1F35D, ‘:curry:’:U+1F35B, ‘:fried_shrimp:’:U+1F364, ‘:bento:’:U+1F371, ‘:sushi:’:U+1F363, ‘:fish_cake:’:U+1F365, ‘:rice_ball:’:U+1F359, ‘:rice_cracker:’:U+1F358, ‘:rice:’:U+1F35A, ‘:ramen:’:U+1F35C, ‘:stew:’:U+1F372, ‘:oden:’:U+1F362, ‘:dango:’:U+1F361, ‘:egg:’:U+1F373, ‘:bread:’:U+1F35E, ‘:doughnut:’:U+1F369, ‘:custard:’:U+1F36E, ‘:icecream:’:U+1F366, ‘:ice_cream:’:U+1F368, ‘:shaved_ice:’:U+1F367, ‘:birthday:’:U+1F382, ‘:cake:’:U+1F370, ‘:cookie:’:U+1F36A, ‘:chocolate_bar:’:U+1F36B, ‘:candy:’:U+1F36C, ‘:lollipop:’:U+1F36D, ‘:honey_pot:’:U+1F36F, ‘:apple:’:U+1F34E, ‘:green_apple:’:U+1F34F, ‘:tangerine:’:U+1F34A, ‘:lemon:’:U+1F34B, ‘:cherries:’:U+1F352, ‘:grapes:’:U+1F347, ‘:watermelon:’:U+1F349, ‘:strawberry:’:U+1F353, ‘:peach:’:U+1F351, ‘:melon:’:U+1F348, ‘:banana:’:U+1F34C, ‘:pear:’:U+1F350, ‘:pineapple:’:U+1F34D, ‘:sweet_potato:’:U+1F360, ‘:eggplant:’:U+1F346, ‘:tomato:’:U+1F345, ‘:corn:’:U+1F33D, ‘:house:’:U+1F3E0, ‘:house_with_garden:’:U+1F3E1, ‘:school:’:U+1F3EB, ‘:office:’:U+1F3E2, ‘:post_office:’:U+1F3E3, ‘:hospital:’:U+1F3E5, ‘:bank:’:U+1F3E6, ‘:convenience_store:’:U+1F3EA, ‘:love_hotel:’:U+1F3E9, ‘:hotel:’:U+1F3E8, ‘:wedding:’:U+1F492, ‘:church:’:U+26EA, ‘:department_store:’:U+1F3EC, ‘:european_post_office:’:582, ‘:city_sunrise:’:U+1F307, ‘:city_sunset:’:U+1F306, ‘:japanese_castle:’:U+1F3EF, ‘:european_castle:’:U+1F3F0, ‘:tent:’:U+26FA, ‘:factory:’:U+1F3ED, ‘:tokyo_tower:’:U+1F5FC, ‘:japan:’:U+1F5FE, ‘:mount_fuji:’:U+1F5FB, ‘:sunrise_over_mountains:’:U+1F304, ‘:sunrise:’:U+1F305, ‘:stars:’:U+1F303, ‘:statue_of_liberty:’:U+1F5FD, ‘:bridge_at_night:’:U+1F309, ‘:carousel_horse:’:U+1F3A0, ‘:rainbow:’:U+1F308, ‘:ferris_wheel:’:U+1F3A1, ‘:fountain:’:U+26F2, ‘:roller_coaster:’:U+1F3A2, ‘:ship:’:U+1F6A2, ‘:speedboat:’:U+1F6A4, ‘:boat:’:U+26F5, ‘:sailboat:’:U+26F5, ‘:rowboat:’:U+1F6A3, ‘:anchor:’:U+2693, ‘:rocket:’:U+1F680, ‘:airplane:’:U+2708, ‘:helicopter:’:U+1F681, ‘:steam_locomotive:’:U+1F682, ‘:tram:’:U+1F68A, ‘:mountain_railway:’:613, ‘:bike:’:U+1F6B2, ‘:aerial_tramway:’:U+1F6A1, ‘:suspension_railway:’:U+1F69F, ‘:mountain_cableway:’:U+1F6A0, ‘:tractor:’:U+1F69C, ‘:blue_car:’:U+1F699, ‘:oncoming_automobile:’:U+1F698, ‘:car:’:U+1F697, ‘:red_car:’:U+1F697, ‘:taxi:’:U+1F695, ‘:oncoming_taxi:’:U+1F696, ‘:articulated_lorry:’:625, ‘:bus:’:U+1F68C, ‘:oncoming_bus:’:U+1F68D, ‘:rotating_light:’:U+1F6A8, ‘:police_car:’:U+1F693, ‘:oncoming_police_car:’:U+1F694, ‘:fire_engine:’:U+1F692, ‘:ambulance:’:U+1F691, ‘:minibus:’:U+1F690, ‘:truck:’:U+1F69A, ‘:train:’:U+1F683, ‘:station:’:U+1F689, ‘:train2:’:U+1F685, ‘:bullettrain_front:’:U+1F685, ‘:bullettrain_side:’:U+1F684, ‘:light_rail:’:U+1F688, ‘:monorail:’:U+1F69D, ‘:railway_car:’:U+1F683, ‘:trolleybus:’:U+1F68E, ‘:ticket:’:U+1F3AB, ‘:fuelpump:’:U+26FD, ‘:vertical_traffic_light:’:U+1F6A6, ‘:traffic_light:’:U+1F6A5, ‘:warning:’:U+26A0, ‘:construction:’:U+1F6A7, ‘:beginner:’:U+1F530, ‘:atm:’:U+1F3E7, ‘:slot_machine:’:U+1F3B0, ‘:busstop:’:U+1F68F, ‘:barber:’:U+1F488, ‘:hotsprings:’:U+2668, ‘:checkered_flag:’:U+1F3C1, ‘:crossed_flags:’:U+1F38C, ‘:izakaya_lantern:’:U+1F3EE, ‘:moyai:’:U+1F5FF, ‘:circus_tent:’:U+1F3AA, ‘:performing_arts:’:U+1F3AD, ‘:round_pushpin:’:U+1F4CD, ‘:triangular_flag_on_post:’:U+1F6A9, ‘:jp:’:U+1F1EF U+1F1F5, ‘:kr:’:U+1F1F0 U+1F1F7, ‘:cn:’:U+1F1E8 U+1F1F3, ‘:us:’:U+1F1FA U+1F1F8, ‘:fr:’:U+1F1EB U+1F1F7, ‘:es:’:U+1F1EA U+1F1F8, ‘:it:’:U+1F1EE U+1F1F9, ‘:ru:’:U+1F1F7 U+1F1FA, ‘:gb:’:U+1F1EC U+1F1E7, ‘:uk:’:U+1F1EC U+1F1E7, ‘:de:’:U+1F1E9 U+1F1EA, ‘:one:’:U+0031 U+20E3, ‘:two:’:U+0032 U+20E3, ‘:three:’:U+0033 U+20E3, ‘:four:’:U+0034 U+20E3, ‘:five:’:U+0035 U+20E3, ‘:six:’:U+0036 U+20E3, ‘:seven:’:U+0037 U+20E3, ‘:eight:’:U+0038 U+20E3, ‘:nine:’:U+0039 U+20E3, ‘:keycap_ten:’:U+1F51F, ‘:1234:’:U+1F522, ‘:zero:’:U+0030 U+20E3, ‘:hash:’:U+0023 U+20E3, ‘:symbols:’:U+1F523, ‘:arrow_backward:’:U+25C0, ‘:arrow_down:’:U+2B07, ‘:arrow_forward:’:U+25B6, ‘:arrow_left:’:U+2B05, ‘:capital_abcd:’:U+1F520, ‘:abcd:’:U+1F521, ‘:abc:’:U+1F524, ‘:arrow_lower_left:’:U+2199, ‘:arrow_lower_right:’:U+2198, ‘:arrow_right:’:U+27A1, ‘:arrow_up:’:U+2B06, ‘:arrow_upper_left:’:U+2196, ‘:arrow_upper_right:’:U+2197, ‘:arrow_double_down:’:U+23EC, ‘:arrow_double_up:’:U+23EB, ‘:arrow_down_small:’:U+1F53D, ‘:arrow_heading_down:’:U+2935, ‘:arrow_heading_up:’:U+2934, ‘:leftwards_arrow_with_hook:’:U+21A9, ‘:arrow_right_hook:’:U+21AA, ‘:left_right_arrow:’:U+2194, ‘:arrow_up_down:’:U+2195, ‘:arrow_up_small:’:U+1F53D, ‘:arrows_clockwise:’:U+1F503, ‘:arrows_counterclockwise:’:U+1F504, ‘:rewind:’:U+23EA, ‘:fast_forward:’:U+23E9, ‘:information_source:’:U+2139, ‘:ok:’:U+1F197, ‘:twisted_rightwards_arrows:’:U+1F500, ‘:repeat:’:U+1F501, ‘:repeat_one:’:U+1F502, ‘:new:’:U+1F195, ‘:top:’:U+1F51D, ‘:up:’:U+1F199, ‘:cool:’:U+1F192, ‘:free:’:U+1F193, ‘:ng:’:U+1F196, ‘:cinema:’:U+1F3A6, ‘:koko:’:728U+1F201 ‘:signal_strength:’:U+1F4F6, ‘:u5272:’:U+1F239, ‘:u5408:’:U+1F234, ‘:u55b6:’:U+1F23A, ‘:u6307:’:U+1F22F, ‘:u6708:’:U+1F237, ‘:u6709:’:U+1F236, ‘:u6e80:’:U+1F235, ‘:u7121:’:U+1F21A, ‘:u7533:’:U+1F238, ‘:u7a7a:’:U+1F233, ‘:u7981:’:U+1F232, ‘:sa:’:U+1F202, ‘:restroom:’:U+1F6BB, ‘:mens:’:U+1F6B9, ‘:womens:’:U+1F6BA, ‘:baby_symbol:’:U+1F6BC, ‘:no_smoking:’:U+1F6AD, ‘:parking:’:U+1F17F, ‘:wheelchair:’:U+267F, ‘:metro:’:U+1F687, ‘:baggage_claim:’:U+1F6C4, ‘:accept:’:U+1F251, ‘:wc:’:U+1F6BE, ‘:potable_water:’:U+1F6B0, ‘:put_litter_in_its_place:’:U+1F6AE, ‘:secret:’:U+3299, ‘:congratulations:’:U+3297, ‘:m:’:U+24C2, ‘:passport_control:’:U+1F6C2, ‘:left_luggage:’:U+1F6C5, ‘:customs:’:U+1F6C3, ‘:ideograph_advantage:’:U+1F250, ‘:cl:’:U+1F191, ‘:sos:’:U+1F198, ‘:id:’:U+1F194, ‘:no_entry_sign:’:U+1F6AB, ‘:underage:’:U+1F51E, ‘:no_mobile_phones:’:U+1F4F5, ‘:do_not_litter:’:U+1F6AF, ‘:non-potable_water:’:U+1F6B1, ‘:no_bicycles:’:U+1F6B3, ‘:no_pedestrians:’:U+1F6B7, ‘:children_crossing:’:U+1F6B8, ‘:no_entry:’:U+26D4, ‘:eight_spoked_asterisk:’:U+2733, ‘:eight_pointed_black_star:’:U+2734, ‘:heart_decoration:’:U+1F49F, ‘:vs:’:U+1F19A, ‘:vibration_mode:’:U+1F4F3, ‘:mobile_phone_off:’:U+1F4F4, ‘:chart:’:U+1F4B9, ‘:currency_exchange:’:U+1F4B1, ‘:aries:’:U+2648, ‘:taurus:’:U+2649, ‘:gemini:’:U+264A, ‘:cancer:’:U+264B, ‘:leo:’:U+264C, ‘:virgo:’:U+264D, ‘:libra:’:U+264E, ‘:scorpius:’:U+264F, ‘:sagittarius:’:U+2650, ‘:capricorn:’:U+2651, ‘:aquarius:’:U+2652, ‘:pisces:’:U+2653, ‘:ophiuchus:’:U+26CE, ‘:six_pointed_star:’:U+1F52F, ‘:negative_squared_cross_mark:’:U+274E, ‘:a:’:U+1F170, ‘:b:’:U+1F171, ‘:ab:’:U+1F18E, ‘:o2:’:U+1F17E, ‘:diamond_shape_with_a_dot_inside:’:U+1F4A0, ‘:recycle:’:U+267B, ‘:end:’:U+1F51A, ‘:on:’:U+1F51B, ‘:soon:’:U+1F51C, ‘:clock1:’:U+1F550, ‘:clock130:’:U+1F55C, ‘:clock10:’:U+1F559, ‘:clock1030:’:U+1F565, ‘:clock11:’:U+1F55A, ‘:clock1130:’:U+1F566, ‘:clock12:’:U+1F55B, ‘:clock1230:’:U+1F567, ‘:clock2:’:U+1F551, ‘:clock230:’:U+1F55D, ‘:clock3:’:U+1F552, ‘:clock330:’:U+1F55E, ‘:clock4:’:U+1F553, ‘:clock430:’:U+1F55F, ‘:clock5:’:U+1F554, ‘:clock530:’:U+1F560, ‘:clock6:’:U+1F555, ‘:clock630:’:U+1F561, ‘:clock7:’:U+1F556, ‘:clock730:’:U+1F562, ‘:clock8:’:U+1F557, ‘:clock830:’:U+1F563, ‘:clock9:’:U+1F558, ‘:clock930:’:U+1F564, ‘:heavy_dollar_sign:’:U+1F4B2, ‘:copyright:’:U+00A9, ‘:registered:’:U+00AE, ‘:tm:’:U+2122, ‘:x:’:U+274C, ‘:heavy_exclamation_mark:’:U+2757, ‘:bangbang:’:U+203C, ‘:interrobang:’:U+2049, ‘:o:’:U+2B55, ‘:heavy_multiplication_x:’:U+2716, ‘:heavy_plus_sign:’:U+2795, ‘:heavy_minus_sign:’:U+2796, ‘:heavy_division_sign:’:U+2797, ‘:white_flower:’:U+1F4AE, ‘:100:’:U+1F4AF, ‘:heavy_check_mark:’:U+2714, ‘:ballot_box_with_check:’:U+2611, ‘:radio_button:’:U+1F518, ‘:link:’:U+1F517, ‘:curly_loop:’:U+27B0, ‘:wavy_dash:’:U+3030, ‘:part_alternation_mark:’:U+303D, ‘:trident:’:U+1F531, ‘:black_square:’:U+2B1B, ‘:white_square:’:U+2B1C, ‘:white_check_mark:’:U+2705, ‘:black_square_button:’:U+1F532, ‘:white_square_button:’:U+1F533, ‘:black_circle:’:U+26AB, ‘:white_circle:’:U+26AA, ‘:red_circle:’:U+1F534, ‘:large_blue_circle:’:U+1F535, ‘:large_blue_diamond:’:U+1F537, ‘:large_orange_diamond:’:U+1F536, ‘:small_blue_diamond:’:U+1F539, ‘:small_orange_diamond:’:U+1F538, ‘:small_red_triangle:’:U+1F53A, ‘:small_red_triangle_down:’:U+1F53B, ‘:shipit:’:868 ...

2015年7月2日 · 5 分钟 · 天边的星星

Adapter的getViewTypeCount和getItemViewType 使用

通过本篇文章,让你掌握新的技巧,请不用只看看一点,希望能够看完,让你很快明白不同的使用场景 ListView 和 Adapter 的基础 工作原理: ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。 一个新的视图被返回并显示 如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能! 实际上Android为你缓存了视图。 Android中有个叫做Recycler的构件,下图是他的工作原理: 如果你有10亿个项目(item),其中只有可见的项目存在内存中,其他的在Recycler中。 ListView先请求一个type1视图(getView)然后请求其他可见的项目。convertView在getView中是空(null)的。 当item1滚出屏幕,并且一个新的项目从屏幕低端上来时,ListView再请求一个type1视图。convertView此时不是空值了,它的值是item1。你只需设定新的数据然后返回convertView,不必重新创建一个视图。 请看下面的示例代码,这里在getView中使用了System.out进行输出 [?](http://www.aitinan.com/3885.html#) <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="gutter"> <div class="line number1 index0 alt2"> 1 </div> <div class="line number2 index1 alt1"> 2 </div> <div class="line number3 index2 alt2"> 3 </div> <div class="line number4 index3 alt1"> 4 </div> <div class="line number5 index4 alt2"> 5 </div> <div class="line number6 index5 alt1"> 6 </div> <div class="line number7 index6 alt2"> 7 </div> <div class="line number8 index7 alt1"> 8 </div> <div class="line number9 index8 alt2"> 9 </div> <div class="line number10 index9 alt1"> 10 </div> <div class="line number11 index10 alt2"> 11 </div> <div class="line number12 index11 alt1"> 12 </div> <div class="line number13 index12 alt2"> 13 </div> <div class="line number14 index13 alt1"> 14 </div> <div class="line number15 index14 alt2"> 15 </div> <div class="line number16 index15 alt1"> 16 </div> <div class="line number17 index16 alt2"> 17 </div> <div class="line number18 index17 alt1"> 18 </div> <div class="line number19 index18 alt2"> 19 </div> <div class="line number20 index19 alt1"> 20 </div> <div class="line number21 index20 alt2"> 21 </div> <div class="line number22 index21 alt1"> 22 </div> <div class="line number23 index22 alt2"> 23 </div> <div class="line number24 index23 alt1"> 24 </div> <div class="line number25 index24 alt2"> 25 </div> <div class="line number26 index25 alt1"> 26 </div> <div class="line number27 index26 alt2"> 27 </div> <div class="line number28 index27 alt1"> 28 </div> <div class="line number29 index28 alt2"> 29 </div> <div class="line number30 index29 alt1"> 30 </div> <div class="line number31 index30 alt2"> 31 </div> <div class="line number32 index31 alt1"> 32 </div> <div class="line number33 index32 alt2"> 33 </div> <div class="line number34 index33 alt1"> 34 </div> <div class="line number35 index34 alt2"> 35 </div> <div class="line number36 index35 alt1"> 36 </div> <div class="line number37 index36 alt2"> 37 </div> <div class="line number38 index37 alt1"> 38 </div> <div class="line number39 index38 alt2"> 39 </div> <div class="line number40 index39 alt1"> 40 </div> <div class="line number41 index40 alt2"> 41 </div> <div class="line number42 index41 alt1"> 42 </div> <div class="line number43 index42 alt2"> 43 </div> <div class="line number44 index43 alt1"> 44 </div> <div class="line number45 index44 alt2"> 45 </div> <div class="line number46 index45 alt1"> 46 </div> <div class="line number47 index46 alt2"> 47 </div> <div class="line number48 index47 alt1"> 48 </div> <div class="line number49 index48 alt2"> 49 </div> <div class="line number50 index49 alt1"> 50 </div> <div class="line number51 index50 alt2"> 51 </div> <div class="line number52 index51 alt1"> 52 </div> <div class="line number53 index52 alt2"> 53 </div> <div class="line number54 index53 alt1"> 54 </div> <div class="line number55 index54 alt2"> 55 </div> <div class="line number56 index55 alt1"> 56 </div> <div class="line number57 index56 alt2"> 57 </div> <div class="line number58 index57 alt1"> 58 </div> <div class="line number59 index58 alt2"> 59 </div> <div class="line number60 index59 alt1"> 60 </div> <div class="line number61 index60 alt2"> 61 </div> <div class="line number62 index61 alt1"> 62 </div> <div class="line number63 index62 alt2"> 63 </div> <div class="line number64 index63 alt1"> 64 </div> <div class="line number65 index64 alt2"> 65 </div> </td> <td class="code"> <div class="container"> <div class="line number1 index0 alt2"> `public` `class` `MultipleItemsListextends ListActivity {` </div> <div class="line number2 index1 alt1"> ` ` </div> <div class="line number3 index2 alt2"> ` ``private` `MyCustomAdapter mAdapter;` </div> <div class="line number4 index3 alt1"> ` ` </div> <div class="line number5 index4 alt2"> ` ``@Override` </div> <div class="line number6 index5 alt1"> ` ``public` `void` `onCreate(Bundle savedInstanceState) {` </div> <div class="line number7 index6 alt2"> ` ``super``.onCreate(savedInstanceState);` </div> <div class="line number8 index7 alt1"> ` ``mAdapter = ``new` `MyCustomAdapter();` </div> <div class="line number9 index8 alt2"> ` ``for` `(``int` `i = ````; i &lt; ``50``; i++) {` </div> <div class="line number10 index9 alt1"> ` ``mAdapter.addItem(``"item "` `+ i);` </div> <div class="line number11 index10 alt2"> ` ``}` </div> <div class="line number12 index11 alt1"> ` ``setListAdapter(mAdapter);` </div> <div class="line number13 index12 alt2"> ` ``}` </div> <div class="line number14 index13 alt1"> ` ` </div> <div class="line number15 index14 alt2"> ` ``private` `class` `MyCustomAdapterextends BaseAdapter {` </div> <div class="line number16 index15 alt1"> ` ` </div> <div class="line number17 index16 alt2"> ` ``private` `ArrayList mData = ``new` `ArrayList();` </div> <div class="line number18 index17 alt1"> ` ``private` `LayoutInflater mInflater;` </div> <div class="line number19 index18 alt2"> ` ` </div> <div class="line number20 index19 alt1"> ` ``public` `MyCustomAdapter() {` </div> <div class="line number21 index20 alt2"> ` ``mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);` </div> <div class="line number22 index21 alt1"> ` ``}` </div> <div class="line number23 index22 alt2"> ` ` </div> <div class="line number24 index23 alt1"> ` ``public` `void` `addItem(``final` `String item) {` </div> <div class="line number25 index24 alt2"> ` ``mData.add(item);` </div> <div class="line number26 index25 alt1"> ` ``notifyDataSetChanged();` </div> <div class="line number27 index26 alt2"> ` ``}` </div> <div class="line number28 index27 alt1"> ` ` </div> <div class="line number29 index28 alt2"> ` ``@Override` </div> <div class="line number30 index29 alt1"> ` ``public` `int` `getCount() {` </div> <div class="line number31 index30 alt2"> ` ``return` `mData.size();` </div> <div class="line number32 index31 alt1"> ` ``}` </div> <div class="line number33 index32 alt2"> ` ` </div> <div class="line number34 index33 alt1"> ` ``@Override` </div> <div class="line number35 index34 alt2"> ` ``public` `String getItem(``int` `position) {` </div> <div class="line number36 index35 alt1"> ` ``return` `mData.get(position);` </div> <div class="line number37 index36 alt2"> ` ``}` </div> <div class="line number38 index37 alt1"> ` ` </div> <div class="line number39 index38 alt2"> ` ``@Override` </div> <div class="line number40 index39 alt1"> ` ``public` `long` `getItemId(``int` `position) {` </div> <div class="line number41 index40 alt2"> ` ``return` `position;` </div> <div class="line number42 index41 alt1"> ` ``}` </div> <div class="line number43 index42 alt2"> ` ` </div> <div class="line number44 index43 alt1"> ` ``@Override` </div> <div class="line number45 index44 alt2"> ` ``public` `View getView(``int` `position, View convertView, ViewGroup parent) {` </div> <div class="line number46 index45 alt1"> ` ``System.out.println(``"getView "` `+ position + ``" "` `+ convertView);` </div> <div class="line number47 index46 alt2"> ` ``ViewHolder holder = ``null``;` </div> <div class="line number48 index47 alt1"> ` ``if` `(convertView == ``null``) {` </div> <div class="line number49 index48 alt2"> ` ``convertView = mInflater.inflate(R.layout.item1, ``null``);` </div> <div class="line number50 index49 alt1"> ` ``holder = ``new` `ViewHolder();` </div> <div class="line number51 index50 alt2"> ` ``holder.textView = (TextView)convertView.findViewById(R.id.text);` </div> <div class="line number52 index51 alt1"> ` ``convertView.setTag(holder);` </div> <div class="line number53 index52 alt2"> ` ``}``else` `{` </div> <div class="line number54 index53 alt1"> ` ``holder = (ViewHolder)convertView.getTag();` </div> <div class="line number55 index54 alt2"> ` ``}` </div> <div class="line number56 index55 alt1"> ` ``holder.textView.setText(mData.get(position));` </div> <div class="line number57 index56 alt2"> ` ``return` `convertView;` </div> <div class="line number58 index57 alt1"> ` ``}` </div> <div class="line number59 index58 alt2"> ` ` </div> <div class="line number60 index59 alt1"> ` ``}` </div> <div class="line number61 index60 alt2"> ` ` </div> <div class="line number62 index61 alt1"> ` ``public` `static` `class` `ViewHolder {` </div> <div class="line number63 index62 alt2"> ` ``public` `TextView textView;` </div> <div class="line number64 index63 alt1"> ` ``}` </div> <div class="line number65 index64 alt2"> `}` </div> </div> </td> </tr> </table> </div> </div> </div> 执行程序,然后在Logcat中查看日志 ...

2015年4月23日 · 29 分钟 · 天边的星星

TCP密集IO吞吐压力测试工具

# [smark](http://www.cnblogs.com/smark/) [https://github.com/IKende/](https://github.com/IKende/) ## [TCP密集IO吞吐压力测试工具](http://www.cnblogs.com/smark/archive/2013/01/08/2850900.html) <div class="postText"> <div id="cnblogs_post_body"> 一 般在写一些网络服务应用的时候都比较关注服务在网络同时读写的能力,为了方便对这方面应用的测试所以写了这样一个测试的工具。工具的主要作用可以通过不同 的连接数来对一个服务应用进行一个读写压力请求,并实时查看当前IO的读写次数和每次请求的延时情况等。为大家介绍的这个工具是第二版,相对于第一版主要 引入了beetle 2.7提供更强的测试效能,在界面上也做了调整使其查看结果直观。 ## 工具应用界面 ![](http://images.cnitblog.com/blog/254151/201301/08122659-247f9367b4d44adb9053c7929de117b8.jpg) ### 功能简介 工具是测试服务端的网络读写能力,主要原理先向服务端发送一个请求,服务端根据请求进行一个应答;工具在得到应答后会再次进入下一次请求,通过这样一个循还来得到一个服务端的请求应答数量;用户可以根据自己的需要设置对应测试的连接数。 ### 发送数据定义 组件提供两种数据发送方式 String 通过UTF8对string编码后进行发送. base64String 由于工具不提供基于二制度的发送,所以提供一个基于base64String的发送方式,用户可以把需要发送的byte[]转成base64String即可。 添加头描述 如果有需要可以给发送数据添加一个int(4节字长度的头),其值是消息长度+4 ### 测试结果 工具并不会提供一个完全整的测试结果,它只反映服务端的应答情况,如:总请求数,秒应答数和每个连接请求延时等。这些结果只是反映出服务端的网络读写效能。对于怎样的一个数值才算是好呢,这个就要根据硬件来评定。以下提供一个E1230下的网络处理效能的结果参考 ![](http://images.cnitblog.com/blog/254151/201301/08124458-d5d82f98baed4cd4b996b80148bcf97d.jpg) [下载工具](http://blog.henryfan.net/file.axd?file=2013%2f1%2fTCPPerformanceTest1.2.rar) (运行环境.net 4.0) 对工具有什么意见可以提一下,我会进一步完善它。 </div> <div id="MySignature"> 个人站:[www.ikende.com](http://www.ikende.com/) 个人开源项目github.com/IKende [elastic communication component for .net](http://ec.ikende.com/) c#组件设计交流群:47164588 c# socket :136485198 微博http://weibo.com/ikende

2015年4月16日 · 1 分钟 · 天边的星星

把excel数据生成sql insert语句

excel表格中有A、B、C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age 。 在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: 1、增加一列(D列) 2、在第一行的D列,就是D1中输入公式: =CONCATENATE(&#8220;insert into users (name,sex,age) values (&#8216;&#8221;,A1,&#8221;&#8216;,'&#8221;,B1,&#8221;&#8216;,'&#8221;,C1,&#8221;&#8216;);&#8221;) 3、此时D1已经生成了如下的sql语句: &#8220;insert into users (name,sex,age) values (&#8216;ls&#8217;,&#8217;女&#8217;,&#8217;24&#8217;)&#8221;; 4、将D1的公式复制到所有行的D列 5、此时D列已经生成了所有的sql语句 6、把D列复制到一个纯文本文件中 7、去掉SQL语句的双引号

2015年4月13日 · 1 分钟 · 天边的星星

网址收集

取精华、去糟粕!适合iOS开发者的15大网站推荐 1.objc.io http://www.objc.io/ 2.Subjective-C http://subjc.com/ 3.NSHipster http://nshipster.com/ 4.Peter Steinberger http://petersteinberger.com/ 5.Ole Begemann http://oleb.net/ 6.Florian Kugler http://floriankugler.com/ 7.NSBlog https://www.mikeash.com/pyblog/ 8.Cocoa http://cocoa.tumblr.com/ 9.Krzysztof Zabłocki http://www.merowing.info/ 10.iOS Development tips http://iosdevtips.co/ 11.iOS Dev Weekly 12.iOS Developer Tips http://iosdevelopertips.com/ 13.iOS Goodies http://ios-goodies.com/ 14.Design+Code https://designcode.io/ 15. AppCoda http://www.appcoda.com/ 1、anddev 国外非常好的一个Android开发者论坛,论坛版块划分完全面向开发者,从入门到进阶话题很全面,版主的水平也非常高,经常会出一些教程。 地址:http://www.anddev.org 2、 helloAndroid 以教程为最大特色的国外网站对大家系统学习Android知识非常有帮助 地址:http://www.helloandroid.com 3、安卓之家 国内专注于android开发的论坛,刚开不久,相对来说比较冷清,但论坛的理念所在我比较认可,感觉向市委Android开发者提供了一站式服务 地址:http://www.androidzj.com 4、 ACC 开发者论坛 国内的Android开发论坛,相对eoe要冷清得多,不过国人开源项目CoolReader在这里发布,给论坛增色不少。 地址:http://androidos.cc 5、安卓视线 – Android开源项目分享平台 引用一下网站的介绍:Android是Google开发的基于Linux平台的开源手机操作系统。Android为我们勾画了一个美好的移动互联网前景,学习Android开源代码是掌握Android的一个最佳途径,我们希望每个对Android感兴趣的人都能够在这里掌握更多的知识、获得更多的灵感。 每天都有最新的Android开源项目推荐,对于大家学习优秀开源项目,开拓思路非常有帮助。 地址:http://www.androideye.com 6、安卓航班网 很不错的安卓开发者论坛,有很多安卓学习的资料, 也有很多android源码项目可以下载,非常方便。适合初学者和高手进阶的好地方! 地址:http://www.apkway.com Android开发者必备的42个链接 2013-12-30 13:46 佚名 看看新闻 字号:T | T 一键收藏,随时查看,分享好友! 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助大家从头开始学习Android开发,其他则面向较高级的开发者。希望推荐的这些内容对你有帮助。 AD:WOT2015 互联网运维与开发者大会 热销抢票 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助大家从头开始学习Android开发,其他则面向较高级的开发者。希望推荐的这些内容对你有帮助。 官方网站 1、谷歌Android开发者页面 这里是主站点,在这您可以找到一切资源帮助您开始Android开发。此站包含了很多关于学习基础知识的资源,完整的API引用,以及你开始开发所需的各种工具。此站共分为五个部分: ...

2015年4月1日 · 3 分钟 · 天边的星星

检测网站访问速度的方法

1、亲自打开网站,体会访问速度。 2、邀请QQ上不同地区的好友打开网站,体会访问速度。 3、通过第三方网站检测访问速度,推荐使用http://www.webkaka.com/,这个网站可以检测各地访问情况。 4、通过ping值情况检测。很多客户不知道如何去ping一个网站或IP,下面详细说明操作步骤: (1)点击开始菜单,再点击运行。 (2)输入ping www.yourdomain.com -t ,其中www.yourdomain.com换成您的域名或IP,点击确定。 (3)分析ping的结果一般50ms以内是非常快的,100ms以内的速度还可以接受。另外没有掉包,数值都是连续显示的,如果显示几行就掉包一次,那网站访问速度肯定不理想。 5、通过第三方网站检测ping值,如http://ping.chinaz.com(国内测试点),http://www.just-ping.com(全球测试点)。 网页载入速度对于一个网站来讲很关键,Google已经将一个网站的载入速度列入了网站关键字排名的考虑因素当中,也就是说如果你的网站有足够的内容,而且载入速度比别人的网站更快一步的话,那么你就是获得更好的排名。那么下面就赶快测试你的网站,提高网站访问速度吧。 1:用Ping命令简单测网站速度的方法 Ping可以用来检查网络是否通畅或者网络连接速度,点击开始→运行 在运行中输入“cmd”回车或点击确定,输入ping www.你的网址.com 就可以了。 用Ping命令简单测网站速度的方法-卢松松博客 (新手只需注意本图红框里的含义即可) Ping结果属于表示,bytes表示发送多少字节,time是时间,时间越小速度越快,TTL可以判断对方操作系统,TTL=119是XP系统,但TTL一般不准,服务器可以修改注册表更改TTL类型,更详细测速的办法,请多多搜索。 新手只需看最下面一行即可,最短时间、最长时间和平均时间(时间越短越好),这样你就能大致判断出网站的速度了。 同样,站长之家的ping工具也不错,网址:http://ping.chinaz.com/ 2:用tracert命令简单测网站速度的方法 测试方法和ping命令类似,只是ping换成tracert www.你的网址.com, tracert就是用来检测从终端客户到你的服务器所在机房的“跳数”和响应时间,也就是测试出服务器与全国各地客户的连接速度,当到达任何一个网关的时候,tracert会进行三次测试,并把三次测试的结果以ms为单位显示,当然time时间越短越好。 3:全方位的免费网站速度测试工具 — GTmetrix gtmetrix.com提供了丰富的详细的测量结果,它结合了Google Page Speed和Yahoo! YSlow的网页速度测试功能,并且提供可行的建议帮你改善网站速度。无需注册为会员即可使用该工具,并建议如何来优化网页中每个元素的,最重要的是会根据网站的具体情况,直接告诉你导致网站加载速度变慢的根源在哪里。 做为GTmetrix注册会员,你可以设置每天、每周或每月自动测试一次你的网站,可设置测试记录自动保存,还能够同时对4个网址进行对比测试。如果你不知道自己的载入速度到底是快还是慢,你可以输入一个名站来对比结果,比如Google.com 网址:http://gtmetrix.com 4:比较哪个网站载入速度较快 — WhichLoadsFaster 2010年7月7日,FastSoft推出免费动态网站加速互动演示网站 WhichLoadsFaster.com WhichLoadsFaster是一个免费公开网速测试工具,用以促进Web网站间良性竞争让网页浏览速度更快。 它是通过你的连接,在你的浏览器里,让两个真实的网页在你面前展示出来。所以使用WhichLoadsFaster是反应当前你的网络下来对比两个站的速度的。 网址:http://whichloadsfaster.com/ 5:国内免费的网站速度测试平台 — WebKaka 卡卡网是国内的一家帮你测试网站页面载入速度的免费站长工具,即时检测你的网站在全国各地访问的有效性、响应时间以及打开速度,目前在全国15个省市、美国、澳大利亚、日本等8个国家均设有检测点。此类网站速度测试工具基本都是国外的,国内的测速服务还比较少。卡卡网主要有网站速度测试、ping检测、路由追踪等功能。 网址:http://www.webkaka.com 当然还有其他很不错的在线网速测试的网站,比如speedtest.cn,speedtest.net等,同时,在你选择网站空间时,能用到本文的一些小方法,相信对你选择物美价廉的空间是个不错的办法

2015年3月30日 · 1 分钟 · 天边的星星

蓝牙BLE 4.0提供的服务名称列表

保健设备配置文件 https://www.bluetooth.org/zh-cn/specification/assigned-numbers/health-device-profile ** ** ** ** 上面2个Service对应下面2个服务 通用属性配置文件(GATT) ​​​通用属性配置文件(GATT) GATT服务 **记忆码** <td width="61"> **UUID规格** </td> <td width="109"> **UUID** </td> <td width="233"> **参考规格** </td> 《通用访问配置文件》 <td width="61"> uuid16 </td> <td width="109"> 0x1800 </td> <td width="233"> *Bluetooth*®核心规格第3卷C部分第12节 </td> 《通用属性配置文件》 <td width="61"> uuid16 </td> <td width="109"> 0x1801 </td> <td width="233"> 蓝牙核心规格第3卷G部分第7节 </td> <td width="61"> </td> <td width="109"> (最大值0xFFFF) </td> <td width="233"> </td> 表1: GATT服务 GATT属性类型 **记忆码** <td width="61"> **UUID规格** </td> <td width="109"> **UUID** </td> <td width="202"> **参考规格** </td> «主要服务» <td width="61"> uuid16 </td> <td width="109"> 0x2800 </td> <td width="202"> 蓝牙核心规格第3卷G部分第3.1节 </td> «辅助服务» <td width="61"> uuid16 </td> <td width="109"> 0x2801 </td> <td width="202"> 蓝牙核心规格第3卷G部分第3.1节 </td> «包含» <td width="61"> uuid16 </td> <td width="109"> 0x2802 </td> <td width="202"> 蓝牙核心规格第3卷G部分第3.2节 </td> «特征» <td width="61"> uuid16 </td> <td width="109"> 0x2803 </td> <td width="202"> 蓝牙核心规格第3卷G部分第3.3节 </td> <td width="61"> </td> <td width="109"> (最大值0xFFFF) </td> <td width="202"> </td> 表2:GATT属性类型 ...

2015年2月4日 · 5 分钟 · 天边的星星

Android 开发 之 JNI入门 – NDK从入门到精通

NDK项目源码地址 : — 第一个JNI示例程序下载 : GitHub – https://github.com/han1202012/NDKHelloworld.git — Java传递参数给C语言实例程序 : GitHub – https://github.com/han1202012/NDKParameterPassing.git —C语言回调Java方法示例程序 : GitHub – https://github.com/han1202012/NDK_Callback.git —分析Log框架层JNI源码所需的Android底层文件 : CSDN – http://download.csdn.net/detail/han1202012/6905507 开发环境介绍 : — eclipse : adt-bundle-windows-x86-20130917 — sdk : 版本 2.3.3 — ndk : android-ndk-r9c-windows-x86.zip — cygwin : 所需组件 binutils , gcc , gcc-mingw , gdb , make; — javah : jdk6.0自带工具 — javap : jdk6.0自带工具 **JNI 总结 : ** Java 调用 C 流程 : — a. 定义 Native 方法 : 在 shuliang.han.ndkparameterpassing.DataProvider.java 类中定义 Native 方法 public native int add(int x, int y); ...

2015年1月8日 · 62 分钟 · 天边的星星