-
代码看上去很清楚在做什么事情. 不要写注释来说明程序在做什么, 而是要把程序逻辑写的非常清楚.
a. 为啥isPlaying了还要play()呢?
public boolean movePrevious() {
if(playIndex > 0)
| partner="2088901235074915"&seller="2088901235074915"&out_trade_no="041515134439145"&subject="123456"&body="2010新款NIKE 耐克902第三代板鞋 耐克男女鞋 386201 白红"&total_fee="0.01"¬ify_url="http://notify.java.jpxx.org/index.jsp" |
| /* sample code, 实现不完整. 可能要用service实现, 但是接口相同 */ | |
| // 先不用去想怎么实现, 先想我在Activity和UI会怎么用 audio player | |
| // 1. 因为需要能够自动切换到下一首, 所以生成播放器需要一个播放列表 | |
| // 2. 在播放的时候, UI需要根据播放器的状态显示不同的UI, 所以需要监听AudioPlayer的状态 | |
| // 3. 因为需要能够播放任意一首歌曲, 需要play(int index) | |
| public class AudioListPlayer { | |
| // 我们在UI上只需要这四个状态, 那么就只监听这些状态 |
| -(AVVideoComposition *)squareCropperVideoComposition:(AVAssetTrack *)clipVideoTrack { | |
| AVMutableVideoComposition * videoComposition = [AVMutableVideoComposition videoComposition]; | |
| CGSize originVideoSize = clipVideoTrack.naturalSize; | |
| CGFloat shortSideLength = MIN(originVideoSize.width, originVideoSize.height); | |
| CGFloat longSideLength = MAX(originVideoSize.width, originVideoSize.height); | |
| CGFloat renderSideLength = 640.0; // MIN(640.0, shortSideLength); | |
| CGFloat scale = renderSideLength / shortSideLength; | |
| import Foundation | |
| import AVFoundation | |
| import CoreImage | |
| protocol SequenceReadable { | |
| func readNext() -> CIImage | |
| } | |
| protocol YMSticky { | |
| func stickOn(background: YMImage) -> YMImage |
| // Use Gists to store code you would like to remember later on | |
| console.log(window); // log the "window" object to the console |
| # built application files | |
| *.apk | |
| *.ap_ | |
| # files for the dex VM | |
| *.dex | |
| # Java class files | |
| *.class |
| buildscript { | |
| repositories { | |
| maven { | |
| url "https://plugins.gradle.org/m2/" | |
| } | |
| mavenCentral() | |
| } | |
| dependencies { | |
| classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.1.RELEASE") | |
| classpath "gradle.plugin.net.franz-becker:gradle-lombok:1.5" |
| import com.querydsl.jpa.impl.JPAQuery; | |
| import graphql.schema.DataFetcher; | |
| import graphql.schema.DataFetchingEnvironment; | |
| import graphql.schema.GraphQLList; | |
| import graphql.schema.GraphQLObjectType; | |
| import lombok.Builder; | |
| import lombok.RequiredArgsConstructor; | |
| import lombok.Value; |